我是Linux新手,shell和腳本。無論我嘗試Google多少次,我都遇到過一個問題,我無法找到答案。將字符串或數組中的代碼插入到whiptail中
我有一個腳本爲一個名爲「whiptail」的程序創建菜單項,這似乎是在Debian上爲Raspberry Pi顯示對話框和菜單項的標準方式。列表項是根據Linux機器上各種文件中的各種數據創建的。我的代碼開始
#!/bin/sh
該列表在腳本頂部的#!/ bin/sh環境中創建。
然而,爲了例子可以定義列表如下:
LIST="\"Tag 1\" \"Item 1\" \\ \n\"Tag 2\" \"Item 2\" \\ \n"
的作品是代碼:
while true; do
TESTRESULT=$(whiptail --menu "Test" 20 80 12 --cancel-button Cancel --ok-button Select \
"Tag 1" "Item 1" \
"Tag 2" "Item 2" \
3>&1 1>&2 2>&3)
RET=$?
if [ $RET -eq 1 ]; then
echo "Cancel"
exit 0
elif [ $RET -eq 0 ]; then
echo "Do something with the selection stored in TESTRESULT"
exit 0
else
exit 1
fi
我無法弄清楚如何更換
"Tag 1" "Item 1" \
"Tag 2" "Item 2" \
與「LIST」變量中的項目。我有一種感覺,答案在於「eval」,但我有問題將其作爲一種解決方案。
我也在玩創建列表作爲數組,但我認爲這也使事情變得複雜。
任何一個好心的想法?