我想使用一个命令在我的终端的三个新终端上打开三个不同的文件夹。它们都应该彼此独立运行,这意味着一个命令不依赖于前一个命令。调用多个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