开发者社区> 问答> 正文

linux shell脚本 两个变量中间有一个/ 一起输出时前面的变量出不来

配置文件config.txt 内容为:
abc=/home/test
计划在shell脚本中获取等号后面的路径,shell脚本如下;

 #!/bin/bash
var=`grep abc /home/test/config.txt`    #获取abc开头的一行
echo $var
put_path=${put_line##*=}      #截取等号后面路径
echo "${put_path}/1.txt"

可以获取到等号后面的路径,但是在最后输出时为什么总是没有${put_path}的值,执行结果如下:

 [root@hadoop1 test]# ./test.sh 
abc=/home/test
/1.txt

为什么只有 /1.txt 而没有${put_path}的值??? 新人第一次发贴,没有C币,望路过的大神指教一下。。。

展开
收起
云栖技术 2016-06-06 09:58:16 2935 0
1 条回答
写回答
取消 提交回答
  • 社区爱好者,专为云栖社区服务!
    #!/bin/bash
    grep abc /home/test/config.txt >>path_line #获取abc开头的一行
    echo path_line
    put_path=${put_line##*=} #截取等号后面路径
    echo "${put_path}/1.txt"
    
    2019-07-17 19:27:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载