我的用户的 bin 目录中有以下脚本;让我们假设文件名为“myScript”:
#!/bin/bash
python3 /myPath/myProgram.py "$@"
在命令行中,如果我键入myScript
,它会启动我的 myProgram.py。但是,如果我键入sudo myScript
,它会给我这个错误:sudo: myProgram: command not found
。
为什么这不起作用?我怎样才能让它发挥作用?
谢谢!
我的用户的 bin 目录中有以下脚本;让我们假设文件名为“myScript”:
#!/bin/bash
python3 /myPath/myProgram.py "$@"
在命令行中,如果我键入myScript
,它会启动我的 myProgram.py。但是,如果我键入sudo myScript
,它会给我这个错误:sudo: myProgram: command not found
。
为什么这不起作用?我怎样才能让它发挥作用?
谢谢!
您可能需要像这样运行脚本:
sudo /path/to/myScript
sudo ./myScript
(如果脚本在当前目录中)你得到的原因
command not found
是脚本不在当前用户的 PATH 目录中。但是,使用以不同的用户身份sudo
运行它 - root(比较echo $PATH
然后看)。所以你想把它添加到 root 用户的路径中:sudo -i
echo $PATH
/usr/local/bin
,/usr/bin/
或已经在根路径中的另一个目录