我正在尝试创建一个文件,其中包含在确切时间安装在系统中的软件包列表。我们试图在不同的时间比较不同的主机来检查一些 sources.list 测试,所以我需要文件名包括主机名和日期。
我知道我可以使用类似的东西:
dpkg -l > dpkg-list-`hostname`.txt
或者
dpkg -l > dpkg-list-$(hostname).txt
与
date
相同命令。问题是当我尝试结合两个变量时: dpkg -l > dpkg-list-$(hostname)$(date).txt
-bash: dpkg-list-$(hostname)$(date).txt: ambiguous redirect
我已经尝试使用上述命令的所有组合,bash 一直提示重定向不明确。
现在,我知道我可以轻松地创建一个 bash 脚本来加载这两个变量并将它们附加到文件中,但这更像是一个概念证明,所以我想学习如何在单行中做到这一点。
最佳答案
尝试缩小 date
的格式使用以下输出:
dpkg -l > dpkg-list-$(hostname)$(date +'%Y%m%d').txt
给出:
dpkg-list-myhost20160506.txt
关于bash - 如何通过bash中的重定向将多个命令的输出附加到文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37067132/