Jas*_*ese 3 bash gnome-terminal alias
这是我的别名文件中的一行,因此每当我打开终端时,它都会在 vim 编辑器中打开 jasonaccomp。
alias acc='gnome-terminal -e "bash -c 'cd ~/Downloads; vim jasonaccomp'"'
Run Code Online (Sandbox Code Playgroud)
退出vim doc后我看到
bash: alias: /home/master/Downloads: not found
Run Code Online (Sandbox Code Playgroud)
这一切都是在我什至打电话给 acc 之前。更糟糕的是,以下代码在我的主目录中运行时,完全按照我的意愿工作。它打开一个新终端,打开 jasonaccomp,当我完成编辑后,终端关闭。
gnome-terminal -e "bash -c 'cd ~/Downloads; vim jasonaccomp'"
Run Code Online (Sandbox Code Playgroud)
此外,键入时命令 acc 给我 > 一个闪烁的光标。每当我打开一个新终端时,如何摆脱编辑 jasonaccomp 的麻烦?另外,我如何让 acc 执行上述代码行的操作。
您的问题是由于不正确使用单引号,单引号内的单引号。
来自man bash
:
将字符括在单引号中会保留引号内每个字符的字面值。单引号之间不能出现单引号,即使前面有反斜杠。
所以把的单引号bash -c
改成转义的双引号:
alias acc='gnome-terminal -e "bash -c \"cd ~/Downloads; vim jasonaccomp\""'
Run Code Online (Sandbox Code Playgroud)