在我的腳本中,我創建了一個文件,我想用它作爲對話框程序的輸入源,以填充菜單對話框。對話框顯示一個菜單,其中包含來自文件的輸入
在文件中,每一行都包含一個數字和一個菜單標題。
INPUT=""
rm result
while read LINE
do
case $LINE in
'/ >'*|---*|'/ > '*)
continue;;
esac
# echo "1 $LINE "
echo -n " 1 \"$LINE\"" >>result
done < tmpfile
#printf "%s " $INPUT
DIALOG --menu "Latest news " 20 50 30 `cat result`
對話框是一個函數,這是源:
DIALOG() {
dialog --backtitle "$TITLE" "[email protected]"
return $?
}
每個菜單項對話框需要一個已識別(在我的例子是多少)和標籤(雙引號」,如果是多個單詞)
的問題是,即使該文件內容的格式是否正確:
1 "item number 1" 2 "item number 2" ...
對話框命令不能識別\「作爲標籤分隔符,但它將其視爲字符串的一部分,導致一個雜亂的菜單,其中每個單詞都有一個菜單語音。
但如果我嘗試將相同的文件內容直接複製並粘貼到shell命令中(而不是使用腳本),菜單顯示正確。
有什麼想法?
同樣的問題。如果我使用「$ {ar [@]}」,我收到以下錯誤:「錯誤:預期的2個參數,僅找到1」。即使數組的回顯顯示正確的輸出。任何想法? – Ivan
@Ivan:在'result'文件中,你應該將這些值保持在不同的行上。 – choroba