1
因此,我有一個函數,要求用戶輸入一些內容,然後使用eval
將輸入的值賦給傳入的變量名稱。如何確定在bash中傳入函數的變量的值?
eval "$1='$input'"
但我想,以檢查是否$1
是空的,因爲如果不是我不想再爲它分配一個值。這個函數被多次調用,所以如果我可以在每次調用時不添加檢查的情況下添加一些檢查,那最好。
我試圖
if [[ ! -z "$1" ]]; then
return
fi
但變量$1
計算爲我傳遞給它的變量名。
I.e. _function_call VAR_A
< - 如果在函數中進行了評估,此調用將導致$1
爲VAR_A
。
那麼,有沒有什麼辦法可以確定變量的值,或者只是檢查它是否在函數中爲空?該函數不是從另一個函數調用的。
你可以用'聲明-g 「$ 1 = $輸入」',而不是EVAL。它有點安全,並且更容易閱讀。 – rici