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).