CentOS で Python 2.7 を使用して bash シェルを開くことができません。Python 2.6.6 Debian で開くことができます。変化したこと?
簡単なbashプロセスの置換を試みました:
from subprocess import Popen
cmd="""cat <<'EOF'
this is
test $unchanged
EOF
"""
Popen('cat <(%s)' % cmd, shell=True, executable='/bin/bash')
Debian ではこれは機能しますが、CentOS では機能しません:
/bin/sh: -c: line 0: syntax error near unexpected token `('
/bin/sh: -c: line 0: `cat <(cat <<'EOF''
違いは次のとおりです。
- Debian : Python 2.6.6
/bin/sh
は、dash によって提供されます。 - CenOS (Red Hat): Python 2.7、
/bin/sh
bash で提供
そのため、CentOS ではexecutable=/bin/bash
まったく尊重されていません。何か不足していますか?