石头_剪刀_布 2015-09-06 03:41 采纳率: 0%
浏览 3765

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币,望路过的大神指教一下。。。

  • 写回答

3条回答

  • 山枝 2015-09-06 05:10
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 vc6.0中想运行代码的时候总是提示无法打开文件是怎么回事
  • ¥25 关于##爬虫##的问题,如何解决?:
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题