
file1
またはをfile2
他のファイルとともに作成する実行可能ファイルがあります。最後に作成されたファイルを出力するシェル スクリプトを作成しようとしています。実行可能ファイルが を作成する場合file1
、出力は になりますfile1
。ディレクトリには、すでに と の両方file1
が他のファイルとともに存在していることに注意してください。実行可能ファイルはそれを上書きします。file1/file2 が存在しない場合は、以下のスクリプトが機能しますが、と の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
非常に安全です。