源码

linux – 从变量中删除额外的换行符


我正在编写一个脚本,我试图导出一些变量,在我打印时导出我的变量后,它会在它之后打印一个额外的行.

这里我是从包含两列的csv文件中读取的.
此脚本存在于文件script.sh中,我正在执行该文件./script.sh

#!/bin/bash
while IFS="," read f1 f2
do
      echo "Source IP        : $f1"     #it is printing without extra line
      echo "Destination IP   : $f2"               #it is printing without extra line  

    export sourceIP=$f1
    export destIP=$f2

    ssh -t -t sjain@$f1 <> report.txt
    exit
    ENDSSH
done < ipaddress.csv

因为我执行时出现上述问题

scp KB_33.txt sjain@$destIP:/home/sjain

它将命令分为两部分,就像这样

scp KB_33.txt sjain@$X.X.X.X
:/home/sjain

当我直接硬编码值而不是destIP时,它工作正常.

我怎样才能解决这个问题?

输入CSV文件数据

10.0.0.1,10.0.0.2
(0)

本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/linux-congbianliangzhongshanchuewaidehuanxingfu.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:9 月 16, 2019 at 10:49 下午

热评文章