Unbuntu 20 및 LMDE 4에서 예상대로 작동하는 간단한 bash 스크립트가 있습니다. 그러나 Debian 11에서 실행하면 다음 오류와 함께 종료됩니다.
"choices=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)" command filed with exit code 127.
루트로 실행했지만 여전히 오류가 발생했습니다. 다음 코드도 확인했습니다.shellcheck.net모든 것이 괜찮다고 말합니다. 이것은 데비안 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
갑자기 나에게 충격을 주었다. 빠진 것은 대화입니다. 설치했는데 스크립트가 예상대로 실행됩니다.