我想运行一个脚本,但是脚本cd
中有一些 s,所以我必须像这样运行它
. /scriptfile
这有效,但脚本中也有一些sudo
s。虽然一切正常,但我想尝试使用 运行整个脚本,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