[英]Running the alias in bash command doesn't work
alias testing="date | tee /home/anupamkhatiwada/fulldate.txt | cut --delimiter=" " --field=1 | tee /home/anupamkhatiwada/shortdate.txt | xargs echo hello"
在终端中输入测试并按回车
测试:找不到命令
可能是因为你在你的字符串中嵌入了"
。试试这个:
alias testing='date | tee /home/anupamkhatiwada/fulldate.txt | cut --delimiter=" " --field=1 | tee /home/anupamkhatiwada/shortdate.txt | xargs echo hello'
当我运行该命令时,我收到以下错误消息:
-bash: alias: ` --field': invalid alias name
正如 PaulProgrammer 指出的那样,这似乎是由于您的cut
命令中使用的分隔符,双引号"
与用于定义别名的分隔符冲突。因此,另一种解决方法是:
alias testing="date | tee /home/anupamkhatiwada/fulldate.txt | cut --delimiter=' ' --field=1 | tee /home/anupamkhatiwada/shortdate.txt | xargs echo hello"
定义一个 function 而不是别名,那么您不必担心引用冲突。
testing() {
date | tee /home/anupamkhatiwada/fulldate.txt | cut --delimiter=" " --field=1 |
tee /home/anupamkhatiwada/shortdate.txt | xargs echo hello
}
函数还有一个额外的好处是它们可以接受参数,这些参数可以插入到命令的中间。 请参阅制作带参数的 Bash 别名?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.