
我有一個可執行文件,可以建立其中一個文件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
就非常安全。