我需要使用perl來運行順序shell命令,但我需要shell環境來保持其變量。使用perl執行shell命令,同時保持shell環境變量
例如:
$result = `cd /`;
$result = `touch test.txt`;
在這個例子中,我需要的test.txt要在/創建。
另外,我不想在一行代碼中運行它們,如$ result = touch /test.txt
;我需要單獨調用shell,而環境變量保持不變。
我需要使用perl來運行順序shell命令,但我需要shell環境來保持其變量。使用perl執行shell命令,同時保持shell環境變量
例如:
$result = `cd /`;
$result = `touch test.txt`;
在這個例子中,我需要的test.txt要在/創建。
另外,我不想在一行代碼中運行它們,如$ result = touch /test.txt
;我需要單獨調用shell,而環境變量保持不變。
chdir '/';
$result = `touch test.txt`;
謝謝,但我需要使用相同功能的2個獨立的shell調用。 「chdir」不是shell調用,與反引號不一樣。 –
你可以使用所需的命令創建一個shell腳本文件(example.sh),並從Perl –
中調用該腳本是的,但是然後我無法從每個命令中獲得單獨的結果。我可能需要操縱每個命令的結果並決定下一步該做什麼。 –
你期望運行'bash -c'cd /''做任何有用的事嗎? –
是的,我會的。這只是一個例子來描述我需要的東西。這個例子可能看起來不太有用,但在我需要的情況下,它非常有用。 –
這是一個修辭問題。 'bash -c'cd /''不會**做任何有用的事情。它創建一個子shell,將其設置爲工作目錄,然後返回0的錯誤級別。完成後,您將擁有與之前相同的工作目錄。它唯一能做的就是找出目錄是否存在。 –