我正在尝试将期望脚本回显到文件中但没有成功

I am trying to echo an expect script into a file but no success

我正在尝试将 expect 脚本回显到文件中,以便我可以即时执行它。

这是我目前的情况:

#!/bin/bash

echo '#!/usr/bin/expect -f' > expect_file
echo 'expect "\[RETURN\]" {send "\r"}' >> expect_file

这将为我生成一个包含以下内容的文件:

#!/usr/bin/expect -f
"}pect "\[RETURN\]" {send "

如果我尝试使用 echo 并转义引号:

#!/bin/bash

echo '#!/usr/bin/expect -f' > expect_file
echo "expect \"\[RETURN\]\" {send \"\r\"}" >> expect_file

cat expect_file
exit 0

expect 命令和部分行没有得到回显

#!/usr/bin/expect -f
"}pect "\[RETURN\]" {send "

如何从我的 bash 脚本中回显或将以下代码行单独放入文件中?

#!/usr/bin/expect -f
expect "\[RETURN\]" {send "\r"}
expect ":" {send "q"}
expect "otherwise:" {send "y\r"}
expect eof {exit}

不要使用回声。使用猫:

cat << 'EOF' > expect_file
#!/usr/bin/expect -f
expect "\[RETURN\]" {send "\r"}
expect ":" {send "q"}
expect "otherwise:" {send "y\r"}
expect eof {exit}
EOF

使用回显

#!/bin/bash
echo -e '#!/usr/bin/expect -f\nexpect "\[RETURN\]" {send "\r"}\nexpect ":" {send "q"}\nexpect "otherwise:" {send "y\r"}\nexpect eof {exit}' > expect_file

#!/bin/bash
echo '#!/usr/bin/expect -f
expect "\[RETURN\]" {send "\r"}
expect ":" {send "q"}
expect "otherwise:" {send "y\r"}
expect eof {exit}' > expect_file

#!/bin/bash
echo '#!/usr/bin/expect -f' > expect_file
echo 'expect "\[RETURN\]" {send "\r"}' >> expect_file
echo 'expect ":" {send "q"}' >> expect_file
echo 'expect "otherwise:" {send "y\r"}' >> expect_file
echo 'expect eof {exit}' >> expect_file