当前位置: 技术问答>linux和unix
关于dialog的使用
来源: 互联网 发布时间:2017-01-04
本文导语: 最近在用dialog写一个修改配置文件的小工具,因为配置文件的内容不定,所以使用while read来赋值的。 配置文件的格式是:[SYS_MEM_FREE_MIN] 2000000 #Min memory spare(多行不定) 现在将用read name value tip 来获取配置文...
最近在用dialog写一个修改配置文件的小工具,因为配置文件的内容不定,所以使用while read来赋值的。
配置文件的格式是:[SYS_MEM_FREE_MIN] 2000000 #Min memory spare(多行不定)
现在将用read name value tip 来获取配置文件的内容:
name=[SYS_MEM_FREE_MIN] 使用正则表达式去掉"[]":name=SYS_MEM_FREE_MIN
value=2000000
tip="#Min memory spare"使用正则表达式去掉"#":tip="Min memory spare"
使用CONFIG=`echo "$name 1 1 $value 1 21 20 10 "tip:$tip""`
然后dialog的写法是:
exec 3>&1
dialog --ok-label "Submit"
--backtile "hello"
--title "hello"
--item-help
--form "set value here" 20 50 0 > _file
$CONFIG
2>&1 1>&3
exec 3>&-
当tip的值没有空格如tip=help时运行就是正确的,不过当含有空格如tip="Min memory spare"的时候就出错。现在我想让他存在空格的情况下也不出错改怎么改啊?
配置文件的格式是:[SYS_MEM_FREE_MIN] 2000000 #Min memory spare(多行不定)
现在将用read name value tip 来获取配置文件的内容:
name=[SYS_MEM_FREE_MIN] 使用正则表达式去掉"[]":name=SYS_MEM_FREE_MIN
value=2000000
tip="#Min memory spare"使用正则表达式去掉"#":tip="Min memory spare"
使用CONFIG=`echo "$name 1 1 $value 1 21 20 10 "tip:$tip""`
然后dialog的写法是:
exec 3>&1
dialog --ok-label "Submit"
--backtile "hello"
--title "hello"
--item-help
--form "set value here" 20 50 0 > _file
$CONFIG
2>&1 1>&3
exec 3>&-
当tip的值没有空格如tip=help时运行就是正确的,不过当含有空格如tip="Min memory spare"的时候就出错。现在我想让他存在空格的情况下也不出错改怎么改啊?
|
考虑用awk做下处理,。。
|
dialog神马东西, 木用过.
友情帮顶.
有空格的是不是加个转义字符''
友情帮顶.
有空格的是不是加个转义字符''
|
|
CONFIG=`echo "$name 1 1 $value 1 21 20 10 "tip:$tip""`
不明白具体实现,猜测LZ是想在CONFIG里面保留引号的输出
不明白具体实现,猜测LZ是想在CONFIG里面保留引号的输出