繁体   English   中英

在csh中为`ls`创建包含`echo`的别名

[英]Making an alias for `ls` that includes `echo` in csh

我想创建一个别名,在每次使用ls之前和之后都会添加一个空格。 如果我只使用ls ,结果是靠近上面和下面的线,我有时会觉得很难读出输出。 所以我开始使用该行:

echo "\n"; ls something ; echo "\n"

有没有办法把它放在别名中,这样每次我都会使用ls命令它会自动添加echo命令?

没有csh / tcsh可用,所以我无法测试,但这应该工作

alias ls 'echo "\n"; ls \!* ; echo "\n"'

tcsh / csh中的命令行参数:

  • !! 是整个命令行
  • !*是命令的所有参数
  • !:1是命令的第一个参数
  • !:2是命令的第二个参数
  • !$是命令的最后一个参数
alias ls 'echo ; /bin/ls something; echo'

请注意,您必须提供ls的完整路径,否则shell会将其视为尝试再次调用别名并抱怨递归尝试。

直接别名ls可能是不明智的,因为您可能会在需要正常输出的脚本中使用它。 相反,在你的.cshrc lss类的别名:

alias lss 'echo; /bin/ls; echo;'

你不需要"\\n"因为echo simple就是打印一个换行符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM