2014-01-23 50 views
0

这是我的代码:如何使用bash存储编辑过的文本文件?

Edit_Record(){

zenity --width=600 --height=300 --text-info --title="Records" --filename=$FILE --editable 
    if [ "$?" = 0 ]; then 
      kdialog --title "Saving the Data" --warningyesnocancel "Do you want to save the changes?" 
      if [ "$?" = 0 ]; then 
      kdialog --msgbox "The changes have been added!" 

      Home; 

      elif [ "$?" = 1 ]; then 
      kdialog --msgbox "No changes has been added!" 
      Home; 

      else 
      Home; 

      fi; 

    else 

    zenity --info --text "You chose to Cancel." 
    exit 
    fi; 
} 

我不知道该怎么把后面“kdialog --msgbox “已添加的变化” :( 请帮助

+0

混合zenity和kdialog?为什么? – choroba

+0

只是想在一次编程中体验不同的gui's – Furabells

回答

1

zenity --editable返回编辑的文本到标准输出。你可以把它保存到重定向的临时文件,如果用户想要保存更改,只需将临时文件在原始。

tmp=$(mktemp) 
zenity --editable ... > $tmp 

if ... ; then 
    mv $FILE "$FILE"~ 
    mv $tmp "$FILE" 
fi 
+0

我会试试这个,谢谢! – Furabells

+0

它工作!超级谢谢你! :D – Furabells

+0

@Furabells:没问题:-)只是upvote和/或接受答案... – choroba