如何引用变量从另一个脚本文件创建一个脚本文件?

如何引用变量从另一个脚本文件创建一个脚本文件?

我想在 bash 脚本中创建一个具有给定内容的文件。
内容应包含变量表达式“$1”、“$2”...

#!/bin/sh
cat < myfile
#!/bin/sh
命令 1 $1
命令 2 $2
命令 3 $3
EOF

创建的文件旨在与变量一起使用:
./myfile param1 param2 param3

但是 myfile 出现时没有变量

$ cat myfile  

#!/bin/sh
命令1
命令2
命令3

答案1

正确的格式应该是:

#!/bin/sh
cat <<EOF > myfile
#!/bin/sh
command1 \$1
command2 \$2
command3 \$3
EOF

进行了两项更改:

  • 使用 \ 转义 $
  • <<EOF在应该写入 myfile 的部分的开头进行标记(参见这里了解更多信息)

运行此脚本后,结果为

cat myfile 
#!/bin/sh
command1 $1
command2 $2
command3 $3

相关内容