我想创建一个别名,在每次使用ls
之前和之后添加空格。
如果我只使用ls
,结果是接近上面和下面的行,我有时会发现读取输出很难并且很困惑。所以我开始使用这一行:
echo "\n"; ls something ; echo "\n"
有没有办法把它放在别名中,这样每次我使用ls
命令时它会自动添加echo
命令?
答案 0 :(得分:6)
没有可用的csh / tcsh,所以我无法测试,但这应该可行
alias ls 'echo "\n"; ls \!* ; echo "\n"'
tcsh / csh中的命令行参数:
!!
是整个命令行!*
是命令的所有参数!:1
是命令的第一个参数!:2
是命令的第二个参数!$
是命令的最后一个参数答案 1 :(得分:4)
alias ls 'echo ; /bin/ls something; echo'
请注意,您必须提供ls的完整路径,否则shell会将其视为尝试再次调用别名并抱怨递归尝试。
答案 2 :(得分:4)
直接别名ls
可能是不明智的,因为您可能会在需要正常输出的脚本中使用它。相反,在您lss
中添加.cshrc
之类的内容:
alias lss 'echo; /bin/ls; echo;'
您不需要"\n"
,因为echo
仅打印换行符。