使 shell 解释运算符用单引号括起来

使 shell 解释运算符用单引号括起来

我有两个使用逻辑运算符构建的命令&&。这两个命令用单引号括起来,因为它们将作为命令传递给 root:

$ su -c 'sed -i '1i TEXT' file1.txt && sed -i '1i ANOTHER TEXT' file2.txt' 

如何使 shell 解释&&单引号中的运算符,但不解释单引号中的其余字符?

答案1

只需使用单引号 ( '),您已经使用了反引号 ( `):

$ su -c 'sed -i "1i TEXT" file1.txt && sed -i "1i ANOTHER TEXT" file2.txt'

或者双引号:

$ su -c "sed -i '1i TEXT' file1.txt && sed -i '1i ANOTHER TEXT' file2.txt" 

相关内容