2015-04-16 40 views
0

我正在編寫一個安裝腳本來自動安裝hadoop主站和從站。由於我有時需要用戶輸入來配置IP地址等,所以我在安裝腳本中安裝了「對話框」。但是,腳本跳過對話框並繼續。爲什麼?Bash腳本跳過對話框用戶輸入

#!/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 
+1

對話框的所有輸出重定向發生了什麼?這可能是一個簡單的「read -p」等等選擇命令嗎? – Barmar

+0

你如何運行腳本? – choroba

+0

在Ubuntu 14.04和./sudo myscript.sh上打開終端。嗯,它只工作,如果沒有安裝X? –

回答

0

正確的命令是:

choice=`dialog --clear --backtitle -"bla bla" --radiolist "Hadoop Install" 10 40 3 1 "Master" on 2 "Slave" off 3>&1 1>&2 2>&3` 

謝謝你們!