Bash脚本跳过对话框用户输入
我目前正在编写一个安装脚本来自动安装hadoop主程序和从程序。因为我有时需要用户输入来配置IP地址等等,所以我正在安装脚本中的“dialog”。但是,脚本跳过对话框并继续。为什么?Bash脚本跳过对话框用户输入,bash,dialog,Bash,Dialog,我目前正在编写一个安装脚本来自动安装hadoop主程序和从程序。因为我有时需要用户输入来配置IP地址等等,所以我正在安装脚本中的“dialog”。但是,脚本跳过对话框并继续。为什么? #!/bin/bash if [ $(whoami) != "root" ]; then echo "Must be run as root." exit 1 fi sudo apt-get update sudo apt-get -y upgrade sudo apt-get install
#!/bin/bash
if [ $(whoami) != "root" ];
then
echo "Must be run as root."
exit 1
fi
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get install -y dialog
choice=`dialog --clear --backtitle -"bla bla" --radiolist "Hadoop Install" 10 40 3 1 "Master" on "Slave" off 3>&1 1>&2 2>&3`
dialog --clear
clear
TYPE="hadoopmaster"
case $choice in
1) echo "Master"
TYPE="hadoopmaster";;
2) number=`dialog --clear --backtitle -"blaa" --
inputbox "Slave Number" 0 0 "" 3>&1 1>&2 2>&3`
dialog --clear
clear
TYPE="hadoopslave"$number;;
esac
apt-get update
apt-get install -y curl
apt-get install -y git
正确的命令是:
choice=`dialog --clear --backtitle -"bla bla" --radiolist "Hadoop Install" 10 40 3 1 "Master" on 2 "Slave" off 3>&1 1>&2 2>&3`
谢谢大家 对话框的所有输出重定向是怎么回事?对于一个简单的
read-p“blah blah”选择
命令来说,这是不是太过分了?如何运行脚本?在Ubuntu 14.04和./sudo myscript.sh上打开终端。Hm只有在没有安装X的情况下才能工作吗?set-vx
是你的朋友。另外,使用/full/path/to/dialog
可能会有所帮助。祝您好运。您的第一个对话框
命令显示:错误:应为3个参数,但仅找到2个。
。顺便说一句,建议添加set-e
,以便脚本在任何命令失败时退出。你可能刚刚犯了那个错误。