[英]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.