所以我有一個bash腳本,它將掃描一個目錄並在選定的輸入上運行一個函數。用戶輸入的Bash數組鍵
echo -n "
-------------------------------------------------------
`hostname` Menu
-------------------------------------------------------
Choose your desired Host:
`
i=1
for D in /var/www/*.*/;
do
if [[ -d $D ]]; then
Hosts[$i]=$D
echo $i') ' $D
i=$(($i+1))
fi
done
`
"
read -p "Select: " Input
Directory="${Hosts[$Input]}";
ChangePerms;
看來,由於某種原因,關鍵不是從數組中正確設置。
Choose your desired Host:
1) /var/www/example1.com/
2) /var/www/example2.com/
+ read -p 'Select: ' Input
Select: 1
+ Directory=
+ ChangePerms
+ true
我在想什麼?所有的幫助非常感謝!
編輯: 作爲一個方面說明,我可以單獨運行命令並獲得結果。
[email protected]:/# i=1
[email protected]:/# for D in /var/www/*.*/;
> do
> if [[ -d $D ]]; then
> Hosts[$i]=$D
> echo $i') ' $D
> i=$(($i+1))
> fi
> done
1) /var/www/example1.com/
2) /var/www/example2.com/
[email protected]:/# read -p "Select: " Input
Select: 1
[email protected]:/# Directory="${Hosts[$Input]}";
[email protected]:/# echo $Directory
/var/www/example1.com/
[email protected]:/#
這裏是爲那些誰卡住像我這樣的工作代碼:
echo -n "
-------------------------------------------------------
`hostname` Menu
-------------------------------------------------------
Choose your desired Host:
"
i=1
for D in /var/www/*.*/;
do
if [[ -d $D ]]; then
Hosts[$i]=$D
echo $i') ' $D
i=$(($i+1))
fi
done
read -p "Select: " Input
Directory="${Hosts[$Input]}";
ChangePerms;
天才!如果我有這樣的聲望,我會高興!謝謝!通過工作示例編輯代碼。 – LEXmono
很高興幫助。我已經對自己做了一兩次...... –