我在这里检查了 question #1562666的几个示例,但是我正在寻找重定向输出的替代方法,以便设置一个环境变量,而不是写入磁盘.
例如,当我尝试使用对话框时,这将工作(我看到对话框,并设置了一个环境变量):
result=$(dialog --output-fd 1 --inputBox "Enter some text" 10 30)echo Result=$result
但是,当使用whiptail代替对话框时,此 *** 作不起作用,因为对话框从不显示.我必须将其重定向到磁盘文件并读取,例如:
result=$(tempfile) ; chmod go-rw $resultwhiptail --inputBox "Enter some text" 10 30 2>$resultecho Result=$(cat $result)rm $result
它工作,我可以使用相同的tempfile从头到尾(删除它,当脚本结束).但是,强制使用磁盘感到尴尬,而不是将其全部保留在内存中(重定向到环境变量).
所以我问:我忘记了某些东西,还是在使用whiptail时真的要使用磁盘?
提前感谢您的反馈.
解决方法 这可能是因为whiptail使用stdin和stdout来打印输入框,因此您不能将stderr直接重定向到stdout,但是您需要将其交换,例如:foobar=$(whiptail --inputBox "Enter some text" 10 30 3>&1 1>&2 2>&3)总结
以上是内存溢出为你收集整理的linux – whiptail:如何将输出重定向到环境变量?全部内容,希望文章能够帮你解决linux – whiptail:如何将输出重定向到环境变量?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)