脚本中没有这样的文件或目录

时间:2015-10-13 10:32:41

标签: bash file permissions

我对脚本有一些奇怪的问题。将exec $* ;;作为参数处理的行myfile

if [ $# -gt 0 ]
then
   case $1 in
   -*) ;;
    *) exec $* ;;
   esac
fi 

抛出错误myfile: No such file or directory

确定文件存在。我尝试sudo,我检查了烫发,我将所有者设置为root,但我继续收到此消息。

1 个答案:

答案 0 :(得分:0)

尝试

exec "$@"

而不是

exec $*

在参数中正确转义空格。

实施例

bash -c "bash -c 'echo \$1' \$*" a b "c d" e f

错误地输出c

bash -c "bash -c 'echo \$1' \"\$@\"" a b "c d" e f

正确输出c d