我的目录的名称包含一个$
和'
,例如
:~$ export DIR=\$my\'dir
:~$ sh -c "ls $DIR"
Run Code Online (Sandbox Code Playgroud)
如何在不$my
展开的情况下运行上面的命令?我知道单引号不起作用,因为$DIR
包含一个。
实际上,问题来自使用find
命令如下:
:~$ find ./\$my\'dir -type d -exec sh -c 'ls "{}"' \;
Run Code Online (Sandbox Code Playgroud)
它说./\'dir: No such file or directory
,如果我删除双引号,那么它说unexpected EOF while looking for matching '
。