這樣的情況:$ cp /etc/apt/sources.list /etc/apt/sources.list.bak
備份一個(gè)文件,重命名一個(gè)文件,或是創(chuàng)建一個(gè)鏈接,都要進(jìn)行類似的操作。這里面有個(gè)問題,明明 /etc/apt/sources 這幾個(gè)字都是一樣的,為什么要打兩遍?這樣的還算短了,要是更深層的目錄,那花的力氣可就大了。通常比較明智的做法是先 cd 到那個(gè)目錄,然后在那個(gè)目錄下進(jìn)行操作,完后再 cd 回來。不過這樣做還是比較麻煩,有沒有足不出戶的解決方法?答案是肯定的。
Bash 有個(gè)功能叫大括號(hào)擴(kuò)展,大括號(hào)包圍的,用逗號(hào)隔開的參數(shù)會(huì)擴(kuò)展為獨(dú)立的多個(gè)參數(shù)。這樣講您一定懵了,具體一點(diǎn),上面那個(gè)備份文件的例子可以寫成:
$ cp /etc/apt/sources.{list,list.bak}
Shell 在解釋時(shí)會(huì)自動(dòng)將后面的參數(shù)擴(kuò)展成兩個(gè),就變成了和上面一樣的完整命令。這樣就實(shí)現(xiàn)了足不出戶操作,而前面那一串目錄只要打一次就行,連 cd 也免敲了。
其實(shí)這個(gè)命令還可以再簡(jiǎn)化,那個(gè) list 也可以并過去的。之前我一直在想,拿什么來代表空白,其實(shí)什么都不用寫就行了。
$ cp /etc/apt/sources.list{,.bak}
這樣逗號(hào)前面沒東西,那么參數(shù)就保持原來的不變,逗號(hào)后面的照樣擴(kuò)展。
新聞熱點(diǎn)
疑難解答
圖片精選