如何使用bash存储已编辑的文本文件?

时间:2014-01-23 14:21:05

标签: bash zenity kdialog

这是我的代码:

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"这些更改已被添加!" :( 请帮忙吗?

1 个答案:

答案 0 :(得分:1)

zenity --editable将编辑后的文本返回到标准输出。您可以通过重定向将其保存到临时文件中,如果用户想要保存更改,只需将临时文件移到原始文件上即可。

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

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