Saya memiliki beberapa skrip lama yang saya coba perbarui. Beberapa kode mengembun ke:
export X=`(echo "abc"; echo "def")`
echo $X
yang memberikan output yang diharapkan:
abc def
Sekarang internet memberi tahu saya bahwa backticks keluar $()adalah apa yang perlu saya gunakan, tetapi ketika saya mencoba:
export X=$((echo "abc"; echo "def"))
X tidak diatur dan saya mendapatkan kesalahan:
bash: echo "abc"; echo "def": syntax error: invalid arithmetic operator (error token is ""abc"; echo "def"")
Apa yang saya lakukan salah?
`...`dan$(...)memulai subkulit pula, sehingga bagian dalam(...)tidak diperlukan (buang proses). Anda akan membutuhkan ruang dalam hal-hal seperti$( (...); (...) )misalnya (di mana subkulit dalam mungkin diperlukan).