Linux/庆典 : How to unquote?

标签 linux bash shell command-line arguments

执行命令

echo 'a b' 'c'

输出

a b c

但是下面的

X="'a b' 'c'"
echo $X;

会出局

'a b' 'c'

我正在寻找一种取消引用 $X 的方法,这样它将输出 "a b c",但不会丢失合并的 'a b' 参数。 (= 2 个参数而不是 3 个,对命令“echo”没有影响,但对其他命令如“cp”)

最佳答案

试试 xargs:

$ echo $x
'a b' 'c'

$ echo $x | xargs ./echo
argc = 3
argv[0] = ./echo
argv[1] = a b
argv[2] = c

关于Linux/庆典 : How to unquote?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6988288/

相关文章:

bash - envsubst 有转义字符吗?

perl - 根据当前文件的内容从 awk 搜索/读取另一个文件,是否可能?

linux - 按目录中的文件名删除重复文件(linux)

linux - 段错误 sysfs gpio linux odroid

php - Python 将数据 POST 到 Linux 上的本地 PHP

linux - 我想将 Bash 脚本的所有命令行参数存储到单个变量中

Bash 通配符的使用

linux - 无法在 Ubuntu 上找到 tomcat 进程的端口号

regex - 如何在 Bash shell 中使用 GNU sed 只获取带有单引号的行?

linux - .NET Core 最佳 Linux 服务器发行版