2017-03-23 63 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