我想使用一個命令在我的終端的三個新終端上打開三個不同的文件夾。它們都應該彼此獨立運行,這意味着一個命令不依賴於前一個命令。調用多個Bash別名
這裏是我的.bash_aliases,這是從.bashrc中
alias cmd1=gnome-terminal && cd ~/Desktop/
alias cmd2=gnome-terminal && cd ~/Documents/
alias cmd3=gnome-terminal && cd ~/Music/
alias runcmds='cmd1 & cmd2 & cmd3'
稱爲但是,這開闢了三個終端的音樂目錄,不正確地執行命令。我怎樣才能讓runcmds將所有3個命令分開運行?
此外,何時需要使用引號,何時不需要?
...嗯。 'gnome-terminal && cd〜/ Desktop'不會運行新終端裏面的'cd' *,這正是我想象的你想要的。相反,它運行一個新的終端,並在獨立的,啓動終端的外部進程中執行'cd' - 一個完全不同的shell。 –
至於你什麼時候做,不需要引號 - '別名cmd1 = gnome-terminal && cd〜/ Desktop'首先讓'cmd1'成爲'gnome-terminal'的別名,然後把目錄改成'〜〜/Desktop「,其中定義了該別名。相比之下,當別名被調用時,別名cmd1 ='gnome-terminal && cd〜/ Desktop'會將'cd'轉換爲'〜/ Desktop',而不是定義它。 –
理解[Bash中的引號是如何工作的](http://mywiki.wooledge.org/Quotes)對於您作爲shell程序員的成功至關重要。如果您不確定何時使用它們,則可以在線獲取大量資源。 – dimo414