在dirname和basename上获得“权限被拒绝”

时间:2013-04-04 05:32:12

标签: linux shell dirname

这就是全部。他们只是不适合我。这次我做错了什么?

    # nquo is: /home/bryan/renametest/C D/y z

    # script:
    dirn=dirname "$nquo"
    echo "dirn $dirn"
    bnam=basename "$nquo"
    echo "bnam $bnam"

运行结果:

    ./script3.sh: 208: /home/bryan/renametest/C D/y z: Permission denied
    dirn 
    ./script3.sh: 208: /home/bryan/renametest/C D/y z: Permission denied
    bnam 

1 个答案:

答案 0 :(得分:4)

按照目前的情况,您的脚本首先尝试运行$nquo中命名的文件,并将环境变量dirn设置为值dirname,然后使用变量{{1}设置为值bnam。由于它不可执行,因此您会收到有关无法执行该文件的错误消息。

您可能打算在文件名上运行命令,这需要反向标记或(最好)围绕它basename

$(...)