蜗牛的壳 - csh
type: channel
link: https://www.snailium.net/tag/csh/
items: Linux C Shell 如何写带有“$”符号的命令

Linux C Shell 如何写带有“$”符号的命令
type: item
date: 2013-02-21T01:26:00-05:00
description: 昨天遇到的问题，本来要把“../..”这样的相对路径改成“$ROOT/dir”这样的路径，于是就做了一个单行 Perl 命令行。 perl -p -i -e "s/\.\.\/\.\./\$\(ROOT\)\/dir/g" * 结果，C Shell 报错。 Variable name must contain alphanumeric characters. 很明显，C Shell 把 $ 符号作为环境变量的起始，试图用环境变量替换 $ 后面的部分。但是，我只是单纯地要 $ 出现在命令中而已，并不需要替换环境变量。 后来，搜了一下，要写成这样才可以。 perl -p -i -e "s/\.\.\/\.\./\\"'$'"\(ROOT\)\/dir/g" * 唉，伟大万能的 linux，就这么一个 $ 符号让我浪费了三个小时……