dialog
を関数内で実行すると、別の関数がその結果を使用できるようになりますか?それを実行するためにコマンドダイアログを実行し、その結果を別の関数で使用する方法は?フォーカスの原因?出力原因?
function a(){
echo IN A
TMPFILE=$(mktemp)
dialog --nocancel --no-lines --no-button --no-description --menu " -" 20 50 8 \
`echo "$*" | sed 's/^\(.*\)$/\1 ·/g'` 2>$TMPFILE
clear
cat $TMPFILE
}
function b(){
echo IN B
a $* | sed 's/\(.*\)/oo\1oo/g'
}
echo IN PROG
b $*
、私が実行します。
./aaaa.sh ff1 dd2 ee33 ff66 ll11
そして、その結果は以下の通りです。ダイアログボックスは表示されませんが、どこにあったはずの空行がたくさんあります。
IN PROG
IN B
ooIN Aoo
oo
ff1oo
私はしかし、「」」に送信されますから、標準出力にある、あなたの関数「B」のすべてにおいてNO成功
新しい画面を開いて終了するとダイアログが表示されないので、完了したらその画面のスペースが残ってしまいます。 'tput smcup'と' tput rmcup'を使うのと同じように動作することを確かめてください。 – 123
良い点。なぜ新しいスクリーンを開いて閉じないのですか? – Cedric