bash – ln抱怨没有这样的文件或目录
发布时间:2020-12-15 21:47:08 所属栏目:安全 来源:网络整理
导读:我是macosx上的 shell编程的新手,并且有一点问题.我编写了以下shell脚本: #!/bin/shfunction createlink {source_file=$1target_file="~/$source_file"if [[ -f $target_file ]]; then rm $target_filefiln $source_file $target_file}createlink ".netrc"
我是macosx上的
shell编程的新手,并且有一点问题.我编写了以下shell脚本:
#!/bin/sh function createlink { source_file=$1 target_file="~/$source_file" if [[ -f $target_file ]]; then rm $target_file fi ln $source_file $target_file } createlink ".netrc" 当我执行这个脚本时,我收到消息ln:?/ .netrc:没有这样的文件或目录,我不知道为什么会这样!你看到错误吗?谢谢! 解决方法
问题是波形扩展不会发生,因为路径是变量值(波形扩展发生在变量扩展之前).您可以使用$HOME而不是?来改善此问题.那是
target_file="${HOME}/${source_file}" 这应该可以解决您的问题. 进一步阅读:男子狂欢的扩展部分 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |