当前位置: 技术问答>linux和unix
急~~~~~ 绝对奇怪~~~~~一个关于变量赋值(字符串)的问题
来源: 互联网 发布时间:2015-10-12
本文导语: data="ABCDEFNAME=abc" test1=${data:11} data="ABCNAME=test5" test2=${data:8} echo "$test1 $test2 jjww" 输出正确的,结果如下: abc test5 jjww 但当data是从一个文本文件(test.txt中包含有:ABCDEFNAME=abc;ABCNAME=test5), 这样读时: data=`cat /home/test/$test.t...
data="ABCDEFNAME=abc"
test1=${data:11}
data="ABCNAME=test5"
test2=${data:8}
echo "$test1 $test2 jjww"
输出正确的,结果如下:
abc test5 jjww
但当data是从一个文本文件(test.txt中包含有:ABCDEFNAME=abc;ABCNAME=test5), 这样读时:
data=`cat /home/test/$test.txt | grep "ABCDEFNAME="| grep -v "grep" | awk '{print $1}'`
test1=${data:11}
data=`cat /home/test/$test.txt | grep "ABCNAME="| grep -v "grep" | awk '{print $1}'`
test2=${data:8}
echo "$test1 $test2 jjww"
输出的结果,却只有: jjww
tes1和test2为什么不输出呢????????
各位高手,帮帮手,一定给分,3x!
|
要是放在不同两行,而且每一行都没有其他的字符串,
比如“ABCDEFNAME=abc”就只有这个字符串没有其他的字符串了,
这样更好办啊,你直接用grep把找到的字符串,也就是整一行赋给data变量
就可以了,然后再把其中想要的字符串赋给test1,
比如
data=`grep ABCDEFNAME /home/test/test.txt`
test1=${data:11}
data==`grep ABCNAME /home/test/test.txt`
test2=${data:8}
echo "$test1 $test2 jjww"
这可以输出
abc test5 jjww
的,我在linux上面试过了!成功!
比如“ABCDEFNAME=abc”就只有这个字符串没有其他的字符串了,
这样更好办啊,你直接用grep把找到的字符串,也就是整一行赋给data变量
就可以了,然后再把其中想要的字符串赋给test1,
比如
data=`grep ABCDEFNAME /home/test/test.txt`
test1=${data:11}
data==`grep ABCNAME /home/test/test.txt`
test2=${data:8}
echo "$test1 $test2 jjww"
这可以输出
abc test5 jjww
的,我在linux上面试过了!成功!