停止 bash 脚本参数中的波浪号扩展
Stop tilde expansion in bash script arguments
考虑这个小脚本:
# script.sh
echo $@
如果我这样调用它 ./script.sh ~/docs
,我会得到 /home/me/docs
作为输出。但是,我需要它来回显 ~/docs
。我怎样才能做到这一点?
不在脚本的控制之下。这取决于用户。他们必须引用波浪号以防止它被扩展。选项包括:
./script.sh \~/docs
./script.sh '~/docs'
./script.sh "~"/docs
考虑这个小脚本:
# script.sh
echo $@
如果我这样调用它 ./script.sh ~/docs
,我会得到 /home/me/docs
作为输出。但是,我需要它来回显 ~/docs
。我怎样才能做到这一点?
不在脚本的控制之下。这取决于用户。他们必须引用波浪号以防止它被扩展。选项包括:
./script.sh \~/docs
./script.sh '~/docs'
./script.sh "~"/docs