0
我試圖找出是下面的命令的直接輸出:命令輸出位置
須藤,我-u SomeUser的/home/someuser/test.sh
test.sh腳本的內容:
echo "test"
命令從另一個用戶的主目錄中調用。
我試圖找出是下面的命令的直接輸出:命令輸出位置
須藤,我-u SomeUser的/home/someuser/test.sh
test.sh腳本的內容:
echo "test"
命令從另一個用戶的主目錄中調用。
找到這個最簡單的方法是用sudo運行pwd(1),儘管我會破壞它的樂趣,並揭示當使用'-i'開關執行sudo(1)時,工作目錄將被設置爲有效的用戶ID(=任何指定'-u'或根時,未指定)和沒有'-i'它將成爲當前目錄。
例子:
[email protected]:~/work/linux-3.11.7$ sudo -i -u games pwd
[sudo] password for user:
/usr/games
[email protected]:~/work/linux-3.11.7$ sudo -u games pwd
/home/user/work/linux-3.11.7
所以,如果你重定向須藤的輸出(1)沒有指定一個完整的路徑某些文件,這就是你如何知道文件將被創建。
http://linux.die.net/man/8/sudo - 選中-i選項。你有沒有嘗試像someuser一樣運行命令?是以奇怪的方式建立的環境? – x29a
'echo'只是打印到標準輸出,此處沒有任何內容表示它正在被重定向。除非您省略重要信息,否則輸出將發送到調用用戶的終端。 – tripleee
當以某用戶身份運行時,命令的行爲與預期相同。我已經在我的本地PC上檢查過這個命令,並且沒問題。但是在遠程服務器上它是不同的。我注意到了這個命令:sudo -i -u someuser /home/someuser/test.sh什麼也不打印。然而,命令sudo -i -u someuser ./test.sh會打印預期的文本'test'。 – user882027