Saya mencoba mengembangkan skrip shell yang meminta pengguna memasukkan tiga nama file dan kemudian skrip akan menampilkan file terbaru yang dibuat. Namun, setiap kali saya menjalankan kode saya, secara otomatis masuk ke bagian elseif dan menampilkan "Tidak ada nama file yang ditemukan ....EXITING"
Kesalahan apa yang saya lakukan dalam kode saya?
read -p "Enter three filenames : $1 $2 $3 "
if [ -f "$1" ] && [ -f "$2" ] && [ -f "$3" ]
then
ls -t $read | head n1
else
echo "No filename found .......EXITING"
fi
#!/bin/bash
sebagai baris pertama (atau tentukan shell yang Anda gunakan, jika bukanbash
). Semoga beruntung. - person shellter   schedule 28.08.2019$1
hingga$3
mengacu pada parameter posisi, bukan apa yang dibacaread
. Periksaread --help
: Anda seharusnya meneruskan nama variabel keread
yang akan diisi dengan data yang sedang dibaca. - person Aaron   schedule 28.08.2019$ ls -1c File1 File2 File3 | head -1
Masalahnya juga adalah tanda-t
.-t
terakhir diubah. Pertanyaan awal adalah file terbaru *dibuat*` Yang berarti menggunakan-c
untukctime
.$ man ls
- person jdw   schedule 28.08.2019