我已经使用 fish shell 编写了许多别名和函数。然而这一点让我措手不及。有人可以帮助我了解发生了什么问题以及如何解决它们吗?
问题:定义一个别名/函数ep
,通过接受一个纪元号来打印人类可读的日期
即我想要如下
nehem@ubuntu ~/c/t/c> ep 1569548631
Fri 27 Sep 11:43:51 AEST 2019
我打算使用的命令是-d
众所周知的date
命令的选项
nehem@ubuntu ~/c/t/> date -d '@1569548631'
Fri 27 Sep 11:43:51 AEST 2019
现在这是我的鱼功能,
function ep
set cmd "date -d @$argv[1]"
$cmd
end
现在执行时date -d @1569548631: command not found
出现错误,尽管我觉得这是一个有效的命令。
nehem@ubuntu ~/c/t/n> ep 1569548631
date -d @1569548631: command not found
~/conf/new.fish (line 449):
$cmd
^
in function “ep”
called on standard input
with parameter list “1569548631”
这里出了什么问题?
要使用子命令,即“set”命令中的命令“date”:
您必须使用括号而不是双引号:
在这里您可以找到相关文档。
如果您还想将变量写入标准输出,则必须回显它:
而不仅仅是