I次のシェルコマンドを持っている:私はexec
を通してそれを実行し、エスケープした場合PHPでシェルコマンドを正しく実行するにはどうしたらいいですか?
comm -3 <(sort file1) <(sort file2) | sed -e 's/^[ \t]*//' | awk -F , '{if (a[$1]) {print "^"$1","} {a[$1] = $0}}' > data2.txt
すべて `
exec('comm -3 <(sort file1) <(sort file2) | sed -e \'s/^[ \t]*//\' | awk -F , \'{if (a[$1]) {print "^"$1","} {a[$1] = $0}}\' > data2.txt');
それは失敗します。
sh: 1: Syntax error: "(" unexpected
私は脱出した場合シェルコマンド自体は失敗します。
awk: cmd. line:1: {if \(a[$1]\) {print "^"$1","} {a[$1] = $0}}
awk: cmd. line:1: ^backslash not last character on line
awk: cmd. line:1: {if \(a[$1]\) {print "^"$1","} {a[$1] = $0}}
awk: cmd. line:1: ^syntax error
sh: 1: cannot open (sort: No such file
PHPでこのシェルコマンドを正常に実行するにはどうすればいいですか?exec
はどのように機能しますか?
を。 '$ output = shell_exec( 'ls);'を使い、出力を見てください。 execとshell_execの代わりに 'phpseclib'を使うことができます。なぜなら、あなたのサーバでexec()を有効にするのは良いことではないからです。 – webDev