我正在嘗試編寫一個腳本,該腳本將顯示該腳本執行目錄中最早的文件的名稱。Bash腳本來查找並顯示最舊的文件
這是我到目前爲止有:
#!/bin/bash
for arg in $*
do
oldest=$1
if [[ $arg -ot $oldest ]]
then
oldest=$arg
fi
done
echo "Oldest file: $oldest"
我不知道如何以遞增到下一個文件來檢查它是否是舊的
例如:
oldest=$2
oldest=$3
etc..
試圖在給定以下參數的bash shell中運行此腳本:
myScript `ls -a`
我得到的結果是:
Oldest File: .
'在$ * ARG'是越野車 - 與包含空格或引用通配符來看看爲什麼參數嘗試。 '對於「$ @」'中的arg或者'對於arg'(默認行爲是對''@ @「''進行迭代)是正確的選擇。當然,所有這些都假設你正在迭代命令行參數,而不是文件。 – 2014-11-24 03:08:17
...對文件進行迭代,它在*中用於arg,或許在循環內部帶有一個'[-d「$ arg」] && continue'來跳過目錄。 – 2014-11-24 03:10:35