Unbuntu 20とLMDE 4で期待どおりに動作する単純なbashスクリプトがあります。しかし、Debian 11で実行すると、次のエラーで終了します。
"choices=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)" command filed with exit code 127.
rootとして実行しましたが、まだエラーが発生しました。次のコードも確認しました。shellcheck.netすべてが大丈夫だと言います。これはDebian 11を新しくインストールしたものです。
どんな提案がありますか?ありがとうございます。
コードは次のとおりです。
#!/bin/bash
# exit when any command fails
set -e
# keep track of the last executed command
trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG
# echo an error message before exiting
trap 'echo "\"${last_command}\" command filed with exit code $?."' EXIT
cmd=(dialog --separate-output --checklist "Select options:" 22 76 16)
options=(1 "Option 1" off # any option can be set to default to "on"
2 "Option 2" off
3 "Option 3" off
4 "Option 4" off)
choices=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)
clear
for choice in $choices
do
case $choice in
1) ls
echo "First Option"
;;
2) pwd
echo "Second Option"
;;
3) pwd
echo "Third Option"
;;
4) ls -la
echo "Fourth Option"
;;
esac
done
答え1
突然私に衝撃を与えた。抜けたのは会話です。インストールしましたが、スクリプトが期待どおりに実行されます。