石头_剪刀_布 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 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题