割り当てるときに変数を左に保持する方法を探していますが、まだきちんとした方法が見つかりませんでした。
[[ "${selections[@]}" =~ "${package}" ]] && is_pkg_selected=true || is_pkg_selected=false
test_package_loaded $package && is_pkg_installed=true || is_pkg_installed=false
# ideal would be like...
is_pkg_selected=$([[ "${selections[@]}" =~ "${package}" ]])
is_pkg_installed=$(test_package_loaded $package && true || false)
どんなアイデアがありますか?複数行の変数を一緒に読むことは非常に困難です。
スクリプトは Raspbian を実行する RaspberryPi で実行されるため、可能な限り最善のsh
アプローチを好みます。
答え1
あなたはできます
is_pkg_selected=$([[ "${selections[@]}" =~ "${package}" ]] && echo true || echo false)
is_pkg_installed=$(test_package_loaded "$package" && echo true || echo false)
つまり、echo
変数に割り当てるテキストを出力するには、コマンドの置換などを明示的に使用する必要があります。 (テキストtrue
でfalse
文字列だけを覚えてください。)