コンテキスト:このスニペット-n
を Mac で実行したところ、文字化けした出力に文字列が散らばっていることに気付きました。答えは、sh
Ubuntu では-n
フラグを理解できるがsh
、私の Mac では理解できないということです。
ご覧のとおり、python は"-n abc\n"
、期待される"abc"
.
コールはとos.system
を分離できませんか? zsh(反転はzshがEOFを示す方法です)とbashの両方で発生しますが、間違っていなければ、python-callでシェルを呼び出すべきではありません(そう言うものを読んだからではなく、私の常識に基づいています) )(編集:私は完全に間違っていることが判明し、システムはサブシェルを実行します)-n
abc
%
ruby がどのように動作するかを見てください:
そして、さらにいくつかのテスト:
スクリプトが送信されたように見えsh
ますが、その時点でのシェルの環境変数はまだzsh
. 理にかなっています。環境をきれいにするために何もしませんでした...おそらくsh
自動的に設定されません$SHELL
。