簡體   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