我正在尝试创建一个 bash 别名,它会在每次调用别名时打印当前的 UNIX 时间戳。我的 bash 配置文件中有以下内容:
alias unix="echo "$(date +%s)""
但是,似乎当前的 unix 时间戳是在获取 bash 配置文件后立即存储的,并且每次调用别名时都不会更改。
例如,如果我每隔 10 秒调用 unix 别名三次,输出总是相同的。我如何创建一个别名来评估调用别名时的 unix 时间戳。这可能吗?
最佳答案
使用单引号防止立即展开。
alias unix='echo $(date +%s)'
更新:虽然我很高兴能够解释单引号和双引号之间的不同扩展行为,但也请参阅 Robby Cornelissen 的其他答案,以获得获得相同结果的更有效方法。 echo
在这里是不必要的,因为它只输出 date
本身已经输出的内容。因此,date
不需要在子 shell 中运行。
关于linux - Bash 别名在文件名中创建具有当前时间戳的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24236362/