zsh别名在执行时丢弃第一个字符



好的,所以我的别名是alias pinecalcmanj="scp ~/.local/share/evolution/calendar/system/calendar.ics $pinemanjaro:~/.local/share/evolution/calendar/system/calendar_computer.ics"。在命令行中运行别名,我看到cp: cannot create regular file ':~/.local/share/evolution/calendar/system/calendar_computer.ics': No such file or directory。如果我将别名内容复制并粘贴到命令行中,它运行良好。别名中的第一个字符似乎在执行过程中被丢弃了。

不过,这是一个有趣的问题。我在"s"之前添加了一个空白,并执行了别名,给出了新的别名alias pinecalcmanj=" scp ~/.local/share/evolution/calendar/system/calendar.ics $pinemanjaro:~/.local/share/evolution/calendar/system/calendar_computer.ics"。嘿,普雷斯托,成功了。太棒了我用后面的空格保存了别名。

好吧,下次我使用别名时,它不起作用,看到了同样的问题,s没有被识别。我删除了空白,保存了zshrc,并运行了别名,它就工作了。因此,似乎每次我想使用别名时,我都需要打开zshrc,删除空白或添加空白,以便它工作。我在这里很困惑。有什么想法吗?

我认为如果用单引号替换双引号,它会起作用,比如:

alias pinecalcmanj='scp ~/.local/share/evolution/calendar/system/calendar.ics $pinemanjaro:~/.local/share/evolution/calendar/system/calendar_computer.ics'

原因是单引号不会插入任何内容,但双引号会插入。以下是Bash手册上的内容:

  • 单引号
  • 双引号

相关内容

  • 没有找到相关文章

最新更新