我在bash脚本中使用awk并执行以下操作:
awk -F, -v result_file=$2'{
print $2 $1 > result_file
}' $data_file
Run Code Online (Sandbox Code Playgroud)
在输出文件中,我在每行的末尾得到一个控制-M'^ M'字符.怎么了?
我正在写一个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帮助