POSIXにおけるShebangの解釈についてのシェルショッカーとの議論まとめ

シェルスクリプトでは1行目にShebang(シバン)を書くことがある。 #!/bin/sh これがPOSIXに定義されているかどうかシェルショッカーが議論していた。参考になったのでまとめた。 また同じタイミングでPOSIXで定義されているCコンパイラーに関する話題もあったので一緒にまとめた。 続きを読む
13
前へ 1 ・・ 4 5
SODA Noriyuki @n_soda

1990年代初め、Bourneシェルスクリプトの先頭に「#」使ったコメントでCopyright Noticeを追加したUNIXベンダーがいて、 twitter.com/n_soda/status/… な仕様のせいでcshに実行されてカオスなことになってた商用UNIXがあったなあ(遠い目…

2016-03-23 19:02:47
SODA Noriyuki @n_soda

初期BSDにおけるcshの発明: /bin/shは、スクリプト起動時、先頭の1文字が「#」だったら問答無用で/bin/csh呼び出し(この時代、ファイルの先頭に「#」があると、/bin/shじゃなくてcshが動いてた)

2016-03-23 18:54:24

スクリプト先頭が「#」だったら問答無用でcsh呼び出す仕様について

SODA Noriyuki @n_soda

初期BSDにおけるcshの発明: /bin/shは、スクリプト起動時、先頭の1文字が「#」だったら問答無用で/bin/csh呼び出し(この時代、ファイルの先頭に「#」があると、/bin/shじゃなくてcshが動いてた)

2016-03-23 18:54:24
鯉江 @koie

@n_soda この時shスクリプトの最初の1文字目って何にしてたんでしょう? コロン?

2016-03-23 19:07:04
SODA Noriyuki @n_soda

@koie 「#」じゃなければ何でもいいので、いきなりコマンド書いてたんじゃないかしら。

2016-03-23 19:09:18
Mitzyuki IMAIZUMI - Full Vaccinated @bsdhack

@n_soda 何という極悪な仕様… csh作ったBSDだからの狼藉でしょうかね。それにしても酷い仕様ですね

2016-03-23 19:05:17
SODA Noriyuki @n_soda

@bsdhack たぶん16bit CPUだった時代に作られた仕様なので。←どんな仕様も16bit時代だとワリと許せるオッサン。 でも1990年代に32bit商用UNIXでこの仕様の実装に出会うと愕然としますね。

2016-03-23 19:08:30
Mitzyuki IMAIZUMI - Full Vaccinated @bsdhack

@n_soda 私が最初に触ったのも16bit UNIX だった気が…ちょっと特種なUNIXだったので色々とアレでしたが。確かに16bit だと許容範囲が一挙に拡がりますね。

2016-03-23 19:10:12
前へ 1 ・・ 4 5