【问题标题】:Unmatched '. error while setting up alias无与伦比的'。设置别名时出错
【发布时间】:2019-09-25 07:58:08
【问题描述】:

我在 Linux 中设置了一个别名来打印历史记录,而没有运行命令的序列号和时间。 这是执行此操作的命令:

history | awk '{$1="";$2="";print}'

我希望将其设置为别名,但我发现 Unmatched ' 存在问题。

$> alias oh 'history | awk \'{$1="";$2="";print}\''
Unmatched '.

【问题讨论】:

  • 不能在单引号字符串中转义单引号:参见手册中的Single Quotes

标签: linux shell unix csh


【解决方案1】:

您不能在单引号内使用反斜杠作为转义符,只能在双引号内使用。您需要结束字符串,以便您可以使用转义的单引号。

alias oh 'history | awk '\''{$1="";$2="";print}'\'

【讨论】:

  • 我在使用你的代码时得到这个:Badly place ()'s.
  • 你用的是什么外壳?这应该适用于任何 POSIX 兼容的 shell:bashzshksh
  • 我正在使用 /bin/tcsh
  • 我已将其更改为 csh 解决方案。
  • 是的,所有的字符串都连接起来了,因为它们之间没有空格。
猜你喜欢
  • 2012-12-25
  • 1970-01-01
  • 2013-04-25
  • 2016-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多