加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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}"

这应该可以解决您的问题.

进一步阅读:男子狂欢的扩展部分

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读