shell中單引號、雙引號、反斜杠簡說
- $加變量名可以取變量的值
- 反引號仍表示命令替換
- \$表示$的字面值
- \`表示`的字面值
- \"表示"的字面值
- \\表示\的字面值
- 除以上情況之外,在其它字符前面的\無特殊含義,只表示字面值。
[[email protected] bin]# echo $‘\‘‘ ‘ [[email protected] bin]# echo -e ‘\047‘ ‘2、處理文件中存在單引號
[[email protected] package]# echo "mmm‘sss" | sed s#\‘#\\\\047#g mmm\047sss [[email protected] package]# echo "mmm‘sss" | sed ‘s/‘"‘"/"\\\047"‘/g‘ mmm\047sss [[email protected] package]# echo "mmm‘sss" | sed "s/‘/\\\\047/g" mmm\047sss3、單引號裏可以打印變量嗎?
[[email protected] ~]# echo ‘"$key"‘ "$key" [[email protected] ~]# echo ‘‘$key‘‘ abc4、遠程處理文件 命令列子:ssh $ip " echo ‘$key=$value‘ >> file "或者ssh $ip " sed -i ‘s/^$key.*/$key=$value/g‘ >> file " 補充:$value變量包含任意字符,即 討論:ssh裏的sed或者echo使用單引號還是雙引號
shell中單引號、雙引號、反斜杠簡說