我不是bash專家,無法真正描述我的問題。這就是爲什麼我會告訴你我的腳本:bash try/catch行爲bash -ex << EOF ... EOF或Here文檔和變量擴展
#!/bin/bash -x
bash -ex << TRY
VAR1="123"
echo "$VAR1"
TRY
echo "exit code: $?"
當我運行該腳本,它產生以下輸出:
+ bash -ex
+ VAR1=123
+ echo ''
+ echo 'exit code: 0'
exit code: 0
我的問題:爲什麼變量VAR1沒有echo命令分配?我希望下面的輸出:
+ bash -ex
+ VAR1=123
+ echo ''
123
+ echo 'exit code: 0'
exit code: 0
這不是真正的異常處理。這只是一個單獨的程序,可以提前中止,而且只有在傳遞給'bash'的腳本根本不需要從標準輸入中讀取的情況下才有效。 – chepner
這就是我需要的用例,謝謝澄清 – hellomichibye