我尝试用以下命令执行脚本:
./home/user/scripts/someScript
但它不起作用:
No such file or directory
有任何想法吗?
答案1
命令中的前导点表示“相对于当前目录”。删除它,它将引用“someScript
目录中的文件/home/user/scripts
:
/home/user/scripts/someScript
如果出现“权限被拒绝”的情况,则可能是因为您没有足够的权限访问其他用户目录中的文件,或者因为该文件不可执行。要使其可执行,请运行:
chmod +x /home/user/scripts/someScript
答案2
如果您的脚本需要访问运行它的同一文件夹中的资源,并且您将其指定为相对路径,那么您的脚本将会中断。
我总是cd $(dirname $0)
在脚本的头部添加一个,这样包含该脚本的文件夹将成为根文件夹。
答案3
去除.
如果您使脚本可执行并chmod 755 <nameofscript>
运行它,那么您只需要输入脚本的路径。
当您看到./script
正在使用时,它会告诉 shell 该脚本位于您正在执行它的同一目录中。要使用完整路径,请键入sh /home/user/scripts/someScript
。