歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux基礎知識 >> 命令行技巧 使用大括號擴展參數的方法

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

日期:2017/3/2 14:56:24   编辑:Linux基礎知識
這樣的情況:$ 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 © Linux教程網 All Rights Reserved