如何在多行上将参数拆分为`bash -c`?

时间:2018-04-18 08:15:28

标签: bash

我有一个很长的命令,我需要通过-c传递给bash,例如'/bin/bash' '-c' 'my long command'(它被称为数组,类似于python的子进程(但不是python))。

无论如何我可以将'my long command'分成多行吗?我试过了 'my\ long\ command' 但它不起作用。

1 个答案:

答案 0 :(得分:1)

如果结果字符串参数必须是一行,则可以形成连接带引号的字符串并使用反斜杠换行符,在多行上格式化它们

echo 'a very very ...'\
'long string'

请注意,引用字符串之外的尾随和前导空格很重要,用于拆分参数。

以下命令也可以使用

bash -c 'echo \
hello'

因为生成的bash进程处理序列。

bash -c "echo \
hello"

因为当前的bash过程会加入双引号之间的行。

什么是无效的确切命令?