當您在命令列表中重新定義環境變數,並且您不希望將那些定義應用於當前 shell 時,使用 subshell 更可取。
在當前 shell 中執行命令列表
將命令列錶用大括號 ({}) 括起來,以在當前 shell 中執行。確保在括號與實際命令之間包括空格,否則 shell 可能無法正確解釋括號。此外,還要確保列表中的最後乙個命令以分號結尾,如以下示例所示:
清單 12. 好習慣6 的另乙個示例:在當前 shell 中執行命令列表
~ $ a . && chown -r guest.guest a &&
> tar cvf newarchive.tar a; } | mailx admin -s "new archive"在 find 之外使用 xargs
使用 xargs 工具作為篩選器,以充分利用從 find 命令挑選的輸出。find 執行通常提供與某些條件匹配的檔案列表。此列表被傳遞到 xargs 上,後者然後使用該檔案列表作為引數來執行其他某些有用的命令,如以下示例所示:
清單 13. xargs 工具的經典用法示例
~ $ find some-file-criteria some-file-path |
> xargs some-great-command-that-needs-filename-arguments然而,不要將 xargs 僅看作是 find 的輔助工具;它是乙個未得到充分利用的工具之一,當您養成使用它的習慣時,將會希望進行所有試驗,包括以下用法。
傳遞空格分隔的列表
在最簡單的呼叫形式中,xargs 就像乙個篩選器,它接受乙個列表(每個成員分別在單獨的行上)作為輸入。該工具將那些成員放置在單個空格分隔的行上:
清單 14. xargs 工具產生的輸出示例
~ $ xargsab
ccontrol-d
a b c
~ $您可以傳送通過 xargs 來輸出檔名的任何工具的輸出,以便為其他某些接受檔名作為引數的工具獲得引數列表,如以下示例所示:
原文:
unix高手的10個習慣(一)
1.在單個命令中建立目錄樹 mkdir ptmp a b c mkdir p project demo stat a mkdirhier project demo stat a 上乙個不支援可用這個mkdirhier 2.更改路徑 不要移動存檔 tar xvf c tmp a b c newarc....
UNIX高手的20個習慣
url unix高手的20個習慣 不良的使用模式會降低您的速度,並且通常會導致意外錯誤。養成這些好習慣是加強您的 unix 命令列技能的積極步驟。unix 下要採用的20個好習慣為 1.在單個命令中建立目錄樹 2.更改路徑不要移動存檔 3.將命令與控制操作符組合使用 4.謹慎引用變數 5.使用轉義序...
使用 UNIX 的 10 個良好習慣
the linux cookbook 一書的作者 michael stutz 憑藉自己多年使用 unix 的經驗,總結了 10 個良好習慣,個人認為真的很受用,現摘要如下與大家分享。建立層級目錄 使用 mkdir 的 p 選項,如 mkdir p tmp a b c。解包到指定的目錄 使用 tar ...