例如:- 我有一个名为 file.txt 的文件
$ cat file.txt
$key
Run Code Online (Sandbox Code Playgroud)
我有一个环境变量,例如:文本文件中的 $key
让我们说 $key = 1234,所以我可以用下面的命令替换该值
sed -i 's/$key/'"$key"'/' file.txt
Run Code Online (Sandbox Code Playgroud)
它变成
$ cat file.txt
1234
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果值
$key = 1/2/3/4
Run Code Online (Sandbox Code Playgroud)
我无法运行以下命令
sed -i 's/$key/'"$key"'/' file.txt
Run Code Online (Sandbox Code Playgroud)
它会报错
sed: bad option in substitution expression
Run Code Online (Sandbox Code Playgroud)
因为斜线它正在打破。我可以通过直接给出值来解决它,但我不想以这种方式使用它。
sed -i 's/$key/1\/2\/3\/4/' file.txt
Run Code Online (Sandbox Code Playgroud)