2017-03-23 43 views
0

the command in bash_profilealias命令 “日期-d @” 在Mac

alias getTime1='date -d @1490170832 +"%F %H:%M:%S"'

alias getTime2='date -d @$1'

but in terminal it not work

不能接受$ 1 donaldlin @〜$ getTime1

2017-03- 22十六点20分32秒

donaldlin @〜$ getTime2 1490170832

日期:参数“1490170832”缺乏龙头 '+'; 使用选项来指定日期(S)时,任何非选项 参数必须与“+” 尝试“日期--help”以获取更多信息开头的格式字符串。

我试过“date -d @ \ $ 1”,“date -d @'$ 1'”,“date -d $ {@ $ 1}”等等,但它仍然不起作用。

更新: alias上课不能带参数。您需要创建一个功能 谢谢@chepner和@ l0b0

+0

嗨,欢迎StackOverflow上。请不要以照片的形式写下你的问题。相反,请写下(以适当的格式)这个问题。另请阅读此处以了解如何在此处提问 - https://stackoverflow.com/help/mcve – VM17

+0

感谢您的建议 – donald

回答

0

alias es不能带参数。您需要改为创建一个函数。

+0

我不同意你的看法。我尝试使用别名“cat $ 1”。没关系。 – donald

+2

@donald:你可能用双引号“alias foo =”cat $ 1“'来定义你的别名,这意味着$ 1被扩展为一个空字符串,并在定义时被丢弃。这意味着你的别名和'alias foo = cat'完全一样。别名不*需要参数。 – chepner

+0

@chepner哦,我明白了。非常感谢你。我尝试'alias foo1 =“cat $ 1,$ 2”'和'alias foo2 =“cat $ 2,$ 1',我得到了答案。 – donald