gpt4 book ai didi

linux - echo 输出格式不正确

转载 作者:太空宇宙 更新时间:2023-11-04 09:44:40 26 4
gpt4 key购买 nike

我正在尝试设置一个脚本来构建期望命令,以便根据我从其他地方提取的数据与该脚本内联运行。

我需要这样的输出

send "get filename1.out.dat.pgp\n"
expect "sftp>"
send "get filename2.out.dat.pgp\n"
expect "sftp>"

我正在使用下面的代码

while read filel
do
echo 'send "get '${filel}'\n"' >> $ExpectCMMDSGET
echo 'expect "sftp>"' >> $ExpectCMMDSGET
done < "$DirList"

但是当我把文件拿出来的时候,我得到了

\n"d "get filename1.out.dat.pgp
expect "sftp>"
\n"d "get filename2.out.dat.pgp
expect "sftp>"

当我在 VI 中查看时,我得到了

send "get filename1.out.dat.pgp^M\n"
expect "sftp>"
send "get filename2.out.dat.pgp^M\n"
expect "sftp>"

我曾尝试在文件创建后使用 sed 删除 ^M,然后再使用,但它不起作用。

任何建议

最佳答案

听起来 "$DirList" 包含回车符。您可以使用 sed -i "s/\r//g"file 从文件中删除它们,最好从您的原始输入中删除,但也可以从您创建的文件中删除。

关于linux - echo 输出格式不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17578914/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com