次の2つの機能がどのように機能するかについて誰かが教えてくれますか? 私は評価の部分に頭を悩ませることができませんでした。これらのコード スニペットは、Openwrt のシステム スクリプトから取得されます。
list_contains() {
local var="$1"
local str="$2"
local val
eval "val=\" \${$var} \""
[ "${val%% $str *}" != "$val" ]
}
append() {
local var="$1"
local value="$2"
local sep="${3:- }"
eval "export ${NO_EXPORT:+-n} -- \"$var=\${$var:+\${$var}\${value:+\$sep}}\$value\""
}