[ruby-list:50721] ENV / ARGV でNULL文字で終わってしまう
From:
haruka@...
Date:
2018-12-24 14:32:18 UTC
List:
ruby-list #50721
皆様こんばんは、正木です。 環境変数(ENV)または引数(ARGV)でNULL文字を含む文字列を渡すと、 Ruby側ではNULL文字で終端したものとして扱われてしまいます。 % export param=$'a\000b' % ruby -e 'p ENV["param"]' "a" % ruby -e 'p ARGV[0]' "$param" "a" 恐らくシェル側の問題ではありません。 % cat <<< "$param" | ruby -e 'p ARGF.read' "a\u0000b\n" % print -r "$param" | ruby -e 'p ARGF.read' "a\u0000b\n" バグでしょうか? この問題は特に環境変数としてMarshal文字列を渡そうとした場合に問題になります。 よろしくお願いします。