小编pun*_*wal的帖子

awk print在行尾添加了一个control-m字符

我在bash脚本中使用awk并执行以下操作:

awk -F, -v result_file=$2'{
print $2 $1 > result_file
}' $data_file
Run Code Online (Sandbox Code Playgroud)

在输出文件中,我在每行的末尾得到一个控制-M'^ M'字符.怎么了?

unix awk

13
推荐指数
1
解决办法
9492
查看次数

如何在expect条件语句中使用bash脚本变量

我正在写一个bash脚本并使用expect来做sftp.现在在expect块中我想在条件语句中访问bash变量.但是,我无法这样做.有人可以帮忙吗?此外,此脚本的执行是从ac程序控制的,我不会将输出重定向到日志文件(这也是动态的).我可以这样做并在stdout上抑制所有teh输出
这里是代码

!/usr/bin/bash   
host=$1  
user=$2  
pass=$3  
action=$4  
path=$5  
echo "Starting...."  

function doAction {  

strAction="\""$action"\""  
echo $strAction  

/usr/bin/expect <<EOF > logfile.txt  
**set bashaction $strAction**  
spawn sftp $user@$host  

expect "password:"   
send "$pass\r"  
expect"sftp>"  
send "cd $path\r"  
**if {$bashaction == "TEST"} {**  
  expect "sftp>"  
  send "prompt\r"  
}  

expect "sftp>"  
send <sftp command>  
expect "sftp>"  
send_user "quit\n"  

exit  
  EOF  
}  

doAction  
echo "DONE....."  
Run Code Online (Sandbox Code Playgroud)

1.使用expect脚本代替工作.
对于日志记录问题,使用log_user 0和log_file -a帮助

bash expect

5
推荐指数
2
解决办法
4万
查看次数

标签 统计

awk ×1

bash ×1

expect ×1

unix ×1