'添加拉路徑'。 ??
你的意思
echo "fileName" | awk '{printf("setenv '`pwd`'/%s\n", $1)}'
輸出
setenv INPUT_DIR /home/shellter/filename
我已經更換了你sort ... | tail ..
作爲似乎並沒有成爲你的核心問題。
另請注意,單引號可防止正在處理的反引號命令替換。你關掉單引號,得到你的cmd-sub值,再次引用單引號。
如果這不是你的意思,請編輯你的問題,並用一個簡單的echo「string」代替sort ... tail ...
,幷包含預期的輸出。它也將有助於包括你目前得到的輸出。
要回答標題中的問題,awk幾乎肯定會使用存儲在$ SHELL環境變量中的值。或者可能有另一個變量,那麼set | grep /bin/sh
和setenv | grep /bin/sh
也是如此,以便查看對/bin/sh
的引用正在設置的位置。然後決定你如何去管理它。
當我運行你的代碼時,我沒有得到任何表明shell被執行的跡象。我得到
setenv INPUT_DIR `pwd`/file
但我在ksh下運行代碼。我沒有csh使用測試。但對於特定情況,這應該不重要。
IHTH
您發佈的腳本與awk system()命令無關,因此您對該腳本或system()的問題? – 2013-04-11 12:09:51