linux 如何在shell变量中保存包含shell脚本的字符串[重复]

im9ewurl  于 2023-08-03  发布在  Linux
关注(0)|答案(1)|浏览(111)

此问题在此处已有答案

How to escape history expansion exclamation mark ! inside a double quoted string?(5个答案)
How do I get the exclamation mark to be treated as a literal in double quotes in bash? [duplicate](1个答案)
Difference between single and double quotes in Bash(7个答案)
7天前关闭
我有一个类似shell的(一个简短的例子,只是为了使它简单)

#!/bin/sh
cat $1

字符串
我想通过执行以下操作保存为文件

echo -e "#!/bin/sh" > test.sh
echo -e "cat $1" >> test.sh


包含“#!/bin/sh”试图解释这行代码而不是将其写入文件,并通过获取旧命令并将其打印到标准输出来执行一些奇怪的操作
有可能实现一些东西吗?
PS:我尝试了像“v=(cat <<<some_file>); echo $v > test.sh“这样的东西,它可以工作,但我仍然无法<some_file>使用字符串替换。

1u4esq0p

1u4esq0p1#

您可以使用反斜杠转义感叹号,就像这样:

echo -e "#\!/bin/bash" > test.sh
echo -e "cat $1" >> test.sh

字符串

相关问题