繁体   English   中英

Linux:使用sudo在bin中运行脚本

[英]Linux: Run script in bin with sudo

因此,我敢肯定这是写在某个地方的,而且我只是在用错误的措词写出来,但我一直找不到。

我写shell脚本。 这些脚本中有许多需要超级用户权限。 与其将sudo命令放在脚本中,不如从sudo开始调用整个脚本。

所以代替:

#!/bin/bash
# Sample Script 1

sudo mkdir /usr/tempDir

这将是:

#!/bin/bash
# Sample Script 2

mkdir /usr/tempDir

我只是这样调用它:sudo ./sampleScript.sh

我的问题是,当我编写脚本时,会将其simlink链接到我的bin中,因此执行脚本时无需担心脚本的路径。

如果将文件simlink链接到bin,并以sampleScript.sh的身份运行它,它将被识别(并且将失败)。 但是,如果我这样做:sudo sampleScript.sh,则会收到“ sudo:sampleScript.sh:找不到命令”消息。

如果同时在/ home / myName / bin和/ usr / local / bin中,则会发生这种情况。

我知道必须要有一项技巧才能使我所缺少的这项工作。 而且我也知道我可能只是没有正确地用词写我的Google搜索。 只是寻找一些指导来弄清楚这部分。

谢谢。

当您调用sudo时,PATH会更改,即它不使用您的。 看这里

sudo更改PATH-为什么?

这样做是因为它现在以root身份而不是以您的用户身份运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM