Saya relatif baru untuk shell scripting, tetapi hampir menyelesaikan skrip yang menggunakan program lftp . Bagian dari skrip yang saya mengalami masalah adalah ketika saya membuat string panjang perintah (dipisahkan oleh ;
).
for var in something
do
...
commands_to_run+="echo Result is `tail -n 1 $somefile`;"
done
Apa yang saya perhatikan adalah bahwa tail
program - dibungkus dengan backticks - sedang dijalankan ketika for loop berulang, tetapi tidak ketika saya memanggil string perintah nanti dalam skrip saya.
Sayangnya, isi $ somefile belum siap untuk diperiksa. Bagaimana saya bisa mendapatkan perintah untuk dieksekusi ketika saya membutuhkannya, dan tidak saat saya membuat string?
$(...)
seperti yang disarankan Hauke tetapi backslash adalah kuncinya.