1つのコマンドを使用して、私の端末から3つの新しい端末に3つの異なるフォルダを開きたいとします。それらのすべてが互いに独立して実行され、1つのコマンドがそのコマンドに依存しないことを意味します。ここで 複数のBashエイリアスを呼び出す
は.bashrcにalias cmd1=gnome-terminal && cd ~/Desktop/
alias cmd2=gnome-terminal && cd ~/Documents/
alias cmd3=gnome-terminal && cd ~/Music/
alias runcmds='cmd1 & cmd2 & cmd3'
から呼び出された私の.bash_aliases、あるしかし、これは音楽のディレクトリに三つの端子を開き、正しくコマンドを実行しません。どうすればruncmdsが3つのコマンドをそれぞれ別々に実行できるようにすることができますか?
また、いつ引用符を使用する必要がありますか?また、いつ必要なのですか?
を...ええと。 'gnome-terminal && cd〜/ Desktop'は新しい端末の' cd' *を実行しません。これはあなたが望むものです。代わりに、新しい端末を実行し、端末を起動した*別個の外部プロセスの中で 'cd 'を実行します。これはまったく別のシェルです。 –
引用符を必要としないときは、 'alias cmd1 = gnome-terminal && cd〜/ Desktop'はまず' cmd1'を 'gnome-terminal'のエイリアスにしてから'〜/Desktop'という別名が定義されています。これに対して、別名cmd1 = 'gnome-terminal && cd〜/ Desktop''はエイリアスが定義されているときとは異なり、エイリアスが呼び出されたとき '〜/ Desktop'に' cd'します。 –
[Bashで引用符がどのように動作するか](http://mywiki.wooledge.org/Quotes)は、シェルプログラマとしての成功にとって非常に重要になります。いつそれらを使用するかわからない場合、オンラインで利用可能な多くのリソースがあります。 – dimo414