fly*_*123 5 unix linux bash shell
我正在尝试创建一个bash别名,每次调用别名时都会打印当前的UNIX时间戳.我的bash配置文件中包含以下内容:
alias unix="echo "$(date +%s)""
Run Code Online (Sandbox Code Playgroud)
但是,似乎一旦获取bash配置文件,就会存储当前的unix时间戳,并且每次调用别名时它都不会更改.
例如,如果我将unix别名分别调用三次10秒,则输出始终相同.如何创建一个别名来评估调用别名时的unix时间戳.这可能吗?
Iva*_*n X 10
使用单引号可防止立即扩展.
alias unix='echo $(date +%s)'
Run Code Online (Sandbox Code Playgroud)
更新:虽然我很高兴能够解释单引号和双引号之间的不同扩展行为,但另请参阅Robby Cornelissen的另一个答案,以获得更有效的方法来获得相同的结果.的echo,因为它只输出什么是不必要在这里date已经将本身的输出.因此,date不需要在子shell中运行.