Saya tidak selalu menginginkan jawaban tetapi jika seseorang dapat mengarahkan saya ke beberapa literatur atau contoh. Saya ingin mencari tahu.
Ketika saya menjalankan skrip saya menerima kesalahan:
Kesalahan sintaksis dekat token yang tidak terduga
fi
Saya telah menyimpulkan bahwa masalah saya ada dalam if
pernyataan saya dengan membuat if
komentar pernyataan saya dan menambahkan echo "$NAME"
yang menampilkan nama dalam/etc/
.
Ketika saya membuat perubahan, hapus #
dari if
dan fi
dan tambahkan #
ke wc -c "$NAME"
, saya menerima kesalahan sintaks yang saya sebutkan di atas. Saya telah menambahkan di ;
antara ]
itu. Saya juga pindah then
ke baris berikutnya tanpa resolusi.
#!/bin/bash
for NAME in /etc/*
do
if [ -r "$NAME" -af "$NAME" ] then
wc -c "$NAME"
fi
done
-af
seharusnya dilakukan?
-a
itu berlebihan karena kondisinya sudah termasuk di dalamnya -f
. --- Bagaimanapun beberapa kondisi di dalam [ ]
(perintah ini juga tersedia sebagai test
) harus digabungkan menggunakan operator logis seperti -a
(dan) atau -o
(atau) tetapi seperti yang disarankan dalam balasan di bawah ini, lebih baik menggunakan beberapa [ ]
( test
) perintah dan bergabung mereka menggunakan operator shell seperti &&
atau ||
.