【问题标题】:How to define 'alias' in csh如何在 csh 中定义“别名”
【发布时间】:2023-07-17 10:52:01
【问题描述】:

我遇到一个问题: 我想在.cshrc.user 中定义一个aliasalias lsco 'ct lsco -me -avobs -cview | awk '{print $5}''

但这对我不起作用,这是运行 source .cshrc.user 时出现的错误 Missing }.

我电脑中的shell是/bin/tcsh

【问题讨论】:

  • 有一个命令叫man,例如man ls , man grep... 在你的情况下,它应该是 man alias
  • @Kent 从什么时候shell内置有一个手册页?在这种情况下,它应该是man csh.. 但是试试看!我花了最后 15 分钟来弄清楚如何逃脱 $ :)
  • @hek2mgl 问题被标记为 linux + shell,我在 alias 语句中发现了缺失的 =。没注意到tcsh,我的错。我没有使用tcsh 的经验。如果命令变得复杂,也可以考虑使用函数。
  • @123 你不只是列出在 coreutils 和某些 shell 中实现的命令吗?
  • @hek2mgl thx 的信息......现在我很幸运,我不必与 tsch 合作......

标签: linux shell csh tcsh


【解决方案1】:

这将起作用:

alias lsco 'ct lsco -me -avobs -cview | awk "{print "\$"5}"'

【讨论】:

  • 我也见过"\$5"here 这样的写法,但我想数字在引号内还是引号外都没有关系。
  • @TomFenech 是的,没关系。这是我第一次玩csh。我需要说我对功能集不满意。