如何使用 sudo 运行脚本?我收到“.: 未找到命令”

如何使用 sudo 运行脚本?我收到“.: 未找到命令”

我想运行一个脚本,但是脚本cd中有一些 s,所以我必须像这样运行它

. /scriptfile

这有效,但脚本中也有一些sudos。虽然一切正常,但我想尝试使用 运行整个脚本,sudo以便可以sudo从脚本文件中删除所有 s。
但是,我无法运行以下命令(使用sudo

sudo . /scriptfile

通过尝试运行我得到

sudo: .: command not found  

有没有什么办法可以解决这个问题?

答案1

你需要跑

sudo ./scriptfile

你尝试过

sudo . /scriptfile

由于点后面有空格,所以有所不同。.或者它的等价物source是 shell 内置命令,而不是命令。这就是您尝试的命令产生错误的原因sudo: .: command not found

笔记:

./scriptfile

将在当前目录中执行具有该名称的文件scriptfile。该文件必须是可执行文件。

. /scriptfile

将获取文件/scriptfile(请注意,此处是绝对路径)。执行此操作时,文件不需要可执行,只需可读即可。

答案2

先运行sudo su,然后就可以运行./scriptfile

相关内容