0
我有一個shell腳本將我的路徑永久更改爲另一個路徑。我的要求是用Perl腳本源它(perl腳本有一些其他的代碼,以及最後它必須發送下面的殼素文字)從perl腳本獲取shell腳本
test.sh:
!/bin/bash
cd /db/oa/invoke/path
test.pl:
!/usr/bin/perl
system("source /home/test.sh");
但採購不起作用。我知道命令system("sh /home/test.sh --help")
從perl腳本執行shell腳本。但我需要類似的命令才能獲取shell腳本。請讓我知道,如果我錯過任何細節。我已經看到關於同一主題的問題,但我沒有看到採購的合適解決方案。誰可以幫我這個事。
問候阿南德
沒有理智的方式來做到你的要求。子流程不能影響父級的環境。你基本上必須使用Perl'exec' Bash,然後把'exec' Perl重新加載回去,以便把它關閉。 – tripleee
另外,shebang需要以'#!'這兩個字符開始,以便它在語法上有效且實際有用。 – tripleee
如果你是shell腳本,就像在你的例子中,只是改變目錄,你可以使用perl的'chdir'函數來改變目錄。儘管如此,你仍然有所有的問題。 – mttrb