使用 csh 脚本读取属性文件
Read properties file using csh script
如何使用 csh 脚本读取属性文件?
当我用谷歌搜索时,我看到的都是 bash 脚本。
我目前使用的是
#!/bin/csh
set config_file=
echo "Configuration at : $config_file"
set server=`grep -i 'server' $config_file | cut -f2 -d'='`
set port=`grep -i 'port' $config_file | cut -f2 -d'='`
if ( "$port" == "" ) then
set port=9000
endif
我的属性文件是
server=192.168.1.20
port=8081
一切正常。但是,如果任何 属性 被注释,它仍然读取值。
server=192.168.1.20
#port=8081
在第二种情况下,我得到的端口最终值为 8081 而不是 9000。
使用 awk 如下;
awk '[=11=] !~ /^#/'
表示如果行不是以#
开头则设置端口
#!/bin/csh
set config_file=
echo "Configuration at : $config_file"
set server=`grep -i 'server' $config_file | cut -f2 -d'='`
set port = `grep -i 'port' $config_file | awk '[=10=] !~ /^#/' | cut -f2 -d'='`
if ( "$port" == "" ) then
set port=9000
endif
如何使用 csh 脚本读取属性文件?
当我用谷歌搜索时,我看到的都是 bash 脚本。
我目前使用的是
#!/bin/csh
set config_file=
echo "Configuration at : $config_file"
set server=`grep -i 'server' $config_file | cut -f2 -d'='`
set port=`grep -i 'port' $config_file | cut -f2 -d'='`
if ( "$port" == "" ) then
set port=9000
endif
我的属性文件是
server=192.168.1.20
port=8081
一切正常。但是,如果任何 属性 被注释,它仍然读取值。
server=192.168.1.20
#port=8081
在第二种情况下,我得到的端口最终值为 8081 而不是 9000。
使用 awk 如下;
awk '[=11=] !~ /^#/'
表示如果行不是以#
#!/bin/csh
set config_file=
echo "Configuration at : $config_file"
set server=`grep -i 'server' $config_file | cut -f2 -d'='`
set port = `grep -i 'port' $config_file | awk '[=10=] !~ /^#/' | cut -f2 -d'='`
if ( "$port" == "" ) then
set port=9000
endif