我有一个可执行文件,可以创建其中一个文件file1
或file2
与其他文件一起创建。我正在尝试编写一个 shell 脚本,它应该输出最新创建的文件。如果可执行文件创建file1
,输出应该是file1
.请注意,我已经拥有这两个文件file1
并file2
与其他文件一起存在于目录中。可执行文件会覆盖它。如果不存在 file1/file2,则下面的脚本可以工作,但如果file1
和都存在,则此脚本不起作用file2
。
if [ -e "file1" ]; then
output="file1"
else
output="file2"
fi
答案1
快速而简单的方法。
output="$(ls -td control.tk input.scs 2> /dev/null|head -1)"
但是,只有当您可以确保文件不包含换行符或空格等有趣字符时,我才会使用它。如果您可以保证文件名不包含有趣的字符,那么解析ls
就非常安全。