这个问题在这里已有答案:
运行以下命令时,我不断收到以下错误:bash - 意外令牌(
附近的语法错误。
A=/dev1/annemarie/
B=/home/annemarie/
diff -u <(find "$B" |sed "s:$B::") <(find "$A" | sed "s:$A::") | sed "/^+\//!d; s::$A/:"
要么
diff -u <(find " B=/home/annemarie/" |sed "s: B=/home/annemarie/::") <(find "/dev1/annemarie/" | sed "s:/dev1/annemarie/::") | sed "/^+\//!d; s::/dev1/annemarie//:"
要么
echo "diff -u <(find \"$B\" |sed \"s:$B::\") <(find \"$A\" | sed \"s:$A::\") | sed \"/^+\//!d; s::$A/:\" >> /tmp/$$.sh
问题出在哪儿?
具有流程替换的脚本必须通过bash
运行,而不是sh
。确保shebang引用/bin/bash
和/或脚本在命令行上传递给bash
。