萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> 命令行小技巧 使用大括號擴展參數的方法

命令行小技巧 使用大括號擴展參數的方法

class="21169"> ; 這樣的情況:$ cp /etc/apt/sources.list /etc/apt/sources.list.bak 備份一個文件,重命名一個文件,或是創建一個鏈接,都要進行類似的操作。這裡面有個問題,明明 /etc/apt/sources 這幾個字都是一樣的,為什麼要打兩遍?這樣的還算短了,要是更深層的目錄,那花的力氣可就大了。通常比較明智的做法是先 cd 到那個目錄,然後在那個目錄下進行操作,完後再 cd 回來。不過這樣做還是比較麻煩,有沒有足不出戶的解決方法?答案是肯定的。 Bash 有個功能叫大括號擴展,大括號包圍的,用逗號隔開的參數會擴展為獨立的多個參數。這樣講您一定懵了,具體一點,上面那個備份文件的例子可以寫成: $ cp /etc/apt/sources.{list,list.bak} Shell 在解釋時會自動將後面的參數擴展成兩個,就變成了和上面一樣的完整命令。這樣就實現了足不出戶操作,而前面那一串目錄只要打一次就行,連 cd 也免敲了。 其實這個命令還可以再簡化,那個 list 也可以並過去的。之前我一直在想,拿什麼來代表空白,其實什麼都不用寫就行了。 $ cp /etc/apt/sources.list{,.bak} 這樣逗號前面沒東西,那麼參數就保持原來的不變,逗號後面的照樣擴展。

copyright © 萬盛學電腦網 all rights reserved