Yoo*_*Yoo 2 bash shell clipboard command substitution
有没有办法在BASH shell中执行命令替换而不会将输出分解为多个参数?
我将某个目录的路径(从GUI文件浏览器中的位置栏)复制到剪贴板,然后发出以下命令,其中命令xsel返回剪贴板内容,在这种情况下是目录的路径:
cd `xsel`
Run Code Online (Sandbox Code Playgroud)
但是某些路径包含空格或者甚至可能包含BASH使用的一些特殊字符.
如何将命令的输出作为单个参数传递,并且没有BASH搞乱特殊字符?
cd "$(xsel)"
Run Code Online (Sandbox Code Playgroud)
似乎处理所有特殊字符(包括$和空格).
我的测试字符串是 boo*;cd.*($\: $_
$ mkdir "$(xsel)"
$ ls
boo*;cd.*($\: $_
$ file boo\*\;cd.\*\(\$\\\:\ \$_/
boo*;cd.*($\: $_/: directory
$ cd "$(xsel)"
$ pwd
/tmp/boo*;cd.*($\: $_
Run Code Online (Sandbox Code Playgroud)