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

如何在多行上将参数拆分为'bash-c'?,bash,Bash,我有一个很长的命令需要通过-c传递给bash,例如'/bin/bash'-c''我的长命令'(类似python的子进程(但不是python)将其作为数组调用) 我是否可以将“我的长命令”拆分为多行?我试过了 “我的\ 长的\ 指挥部 但它不起作用。如果生成的字符串参数必须是一行,则可以将带引号的字符串串联起来形成,并使用反斜杠换行符在多行上格式化它们 echo 'a very very ...'\ 'long string' 请注意,带引号的字符串外的尾随空格和前导空格很重要,用于拆分参数

我有一个很长的命令需要通过-c传递给bash,例如
'/bin/bash'-c''我的长命令'
(类似python的子进程(但不是python)将其作为数组调用)

我是否可以将
“我的长命令”
拆分为多行?我试过了

“我的\
长的\
指挥部

但它不起作用。

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

echo 'a very very ...'\
'long string'
请注意,带引号的字符串外的尾随空格和前导空格很重要,用于拆分参数

以下命令也可以使用

bash -c 'echo \
hello'
因为生成的bash进程处理该序列

bash -c "echo \
hello"
因为当前的bash进程将双引号之间的行连接起来


什么确切的命令不起作用?

实际上它应该起作用,只是使用周围的空格\n我也试过了,但仍然没有乐趣。如果这是广告中的功能,那么可能是跑步者把它搞砸了:-/你能展示一下你在哪里尝试的实际代码吗?描述一下你得到了什么样的“不工作”?(例如,
execl(“/bin/bash”、“bash”、“-c”、“my\\\nlong\\\ncommand”)
没有问题,因此除非您的命令对于
exec
(在这种情况下,您应该将其作为输入流传输),否则您的问题在于代码。您是对的。是那个跑步者不起作用。该命令嵌入在yaml中。