我有一个很长的命令,我需要通过-c传递给bash,例如'/bin/bash' '-c' 'my long command'
(它被称为数组,类似于python的子进程(但不是python))。
无论如何我可以将'my long command'
分成多行吗?我试过了
'my\
long\
command'
但它不起作用。
答案 0 :(得分:1)
如果结果字符串参数必须是一行,则可以形成连接带引号的字符串并使用反斜杠换行符,在多行上格式化它们
echo 'a very very ...'\
'long string'
请注意,引用字符串之外的尾随和前导空格很重要,用于拆分参数。
以下命令也可以使用
bash -c 'echo \
hello'
因为生成的bash进程处理序列。
bash -c "echo \
hello"
因为当前的bash过程会加入双引号之间的行。
什么是无效的确切命令?