シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ:
シェルスクリプト総合 その28
http://mevius.5ch.net/test/read.cgi/tech/1532397676/
探検
シェルスクリプト総合 その29
■ このスレッドは過去ログ倉庫に格納されています
2018/09/21(金) 23:34:47.98ID:/eJt2TVD
799デフォルトの名無しさん
2019/06/28(金) 15:20:25.88ID:p9xekXNc >>797
じゃあお前は外部コマンド使用禁止な
じゃあお前は外部コマンド使用禁止な
800デフォルトの名無しさん
2019/06/28(金) 15:23:54.26ID:p9xekXNc 外部コマンド総合スレでも立てるか
でシェルスクリプトはスレチなw
でシェルスクリプトはスレチなw
801デフォルトの名無しさん
2019/06/28(金) 15:37:17.44ID:hRIfy8PX802デフォルトの名無しさん
2019/06/28(金) 15:40:05.21ID:p9xekXNc 反論できなくなるとアスペ認定か
どっちがアスペだよ
どっちがアスペだよ
803デフォルトの名無しさん
2019/06/28(金) 16:03:38.70ID:zQSIyUJ5 お前のログインシェルをfishにしてやろうか
804デフォルトの名無しさん
2019/06/28(金) 16:07:31.10ID:xFtlJ1q/ ww
805デフォルトの名無しさん
2019/06/28(金) 16:33:23.58ID:4HrFS9y+ いいやんfish
何で笑い物になってんの??
何で笑い物になってんの??
806デフォルトの名無しさん
2019/06/28(金) 16:45:37.81ID:hRIfy8PX807デフォルトの名無しさん
2019/06/28(金) 17:01:53.99ID:p9xekXNc808デフォルトの名無しさん
2019/06/28(金) 17:43:39.21ID:iEcNYkGc かなり馬鹿そうだな
809デフォルトの名無しさん
2019/06/28(金) 18:11:19.47ID:T2T4CcZF fishってw
810デフォルトの名無しさん
2019/06/28(金) 18:56:40.55ID:4HrFS9y+ シェルスクリプトが本当にイケてたらfishスクリプトだのVスクリプトだの出てこない。
811デフォルトの名無しさん
2019/06/28(金) 19:09:05.16ID:Ul5nd1dv C言語が本当にイケてたらPerlなんて出てこない
↑好きな言語に変更してください
↑好きな言語に変更してください
812デフォルトの名無しさん
2019/06/28(金) 19:11:15.58ID:Ul5nd1dv fishはシェルとして使うのは良いけど、
/bin/shでも/bin/bashでも動かないから
スクリプトとしては使えないんだよな
/bin/shでも/bin/bashでも動かないから
スクリプトとしては使えないんだよな
813デフォルトの名無しさん
2019/06/28(金) 19:12:15.60ID:Ul5nd1dv 良い言語が必ずしも普及するわけじゃなくて
結局は互換性、標準準拠のものが最後には残るんだよね。
JavaScriptとaltJSの関係でもよくわかった
結局は互換性、標準準拠のものが最後には残るんだよね。
JavaScriptとaltJSの関係でもよくわかった
814デフォルトの名無しさん
2019/06/28(金) 19:54:48.75ID:5SvDrToF つまりTypeScriptもいずれ滅びると。
815デフォルトの名無しさん
2019/06/28(金) 20:01:22.66ID:Ul5nd1dv816デフォルトの名無しさん
2019/06/28(金) 20:48:45.94ID:T2T4CcZF 男はCでwebアセンブラ書け
817デフォルトの名無しさん
2019/06/28(金) 21:33:38.23ID:T2T4CcZF ていうかそんなに互換性やら保守性やら気にするんだったら黙ってPOSIXに準拠しとけよとは思うけどね。
818デフォルトの名無しさん
2019/06/28(金) 21:40:41.84ID:fHg6yLGA POSIXモードもしくはPOSIX準拠をうたっているのが本当か?というとこかな
なにか完璧POSIX準拠それ以上も以下もないってどれだ?dash?
あと、POSIX以前もしくは不備のとかちょっと前の話題でもあったねえ
なにか完璧POSIX準拠それ以上も以下もないってどれだ?dash?
あと、POSIX以前もしくは不備のとかちょっと前の話題でもあったねえ
819デフォルトの名無しさん
2019/06/28(金) 23:19:35.88ID:2yxMx+rx シェルスクリプトの言語仕様なんてたかが知れてるんだから
覚えられないはずがないんだが、それができないのは覚えられないんじゃなくて
シェルプログラミングのプログラミングスタイルを理解できてないってことなんじゃないかな
手続き型というより関数型に近いスタイルだからね
>>818
dash(ash)一択でしょ
debian/ubuntuのデフォルトシェルだし
その他のシェルはPOSIX準拠ではない配列が使えてしまう
覚えられないはずがないんだが、それができないのは覚えられないんじゃなくて
シェルプログラミングのプログラミングスタイルを理解できてないってことなんじゃないかな
手続き型というより関数型に近いスタイルだからね
>>818
dash(ash)一択でしょ
debian/ubuntuのデフォルトシェルだし
その他のシェルはPOSIX準拠ではない配列が使えてしまう
820デフォルトの名無しさん
2019/06/28(金) 23:25:17.84ID:CM5w69Yd なんでshじゃダメなの?いや煽りでなしに。
821デフォルトの名無しさん
2019/06/28(金) 23:28:28.79ID:2yxMx+rx >>820
shの実体は何?
shの実体は何?
822デフォルトの名無しさん
2019/06/28(金) 23:37:24.02ID:CM5w69Yd 知らんけどもともとは何だったの?
823デフォルトの名無しさん
2019/06/28(金) 23:37:32.86ID:GaQSOKcq >>819
dashがたぶん近いんだろうが、POSIX準拠それ以上も以下もないのか本当に?というとこかな
POSIX準拠それ以上も以下もないんだったら、dashで動けば終了、他で動かないのはPOSIX準拠してないからそいつが悪いで済むんだろうなw
dashがたぶん近いんだろうが、POSIX準拠それ以上も以下もないのか本当に?というとこかな
POSIX準拠それ以上も以下もないんだったら、dashで動けば終了、他で動かないのはPOSIX準拠してないからそいつが悪いで済むんだろうなw
824デフォルトの名無しさん
2019/06/28(金) 23:42:51.93ID:GaQSOKcq >>822
/bin/sh の実態がbashだったりkshだったりdashだったりというのが現在
元々のオリジナルのshはアレすぎて現存しないんじゃないかな
オリジナルのshがアレなのでbashとかkshとか出る、kshをベースにPOSIX規格を作る、POSIXの仕様に合わせようと各shellは頑張るが、方言あるやん(確かkshでさえ)なのでash(dash)が出る
という流れじゃなかったかなあ。/bin/sh なんて存在しない、現在
/bin/sh の実態がbashだったりkshだったりdashだったりというのが現在
元々のオリジナルのshはアレすぎて現存しないんじゃないかな
オリジナルのshがアレなのでbashとかkshとか出る、kshをベースにPOSIX規格を作る、POSIXの仕様に合わせようと各shellは頑張るが、方言あるやん(確かkshでさえ)なのでash(dash)が出る
という流れじゃなかったかなあ。/bin/sh なんて存在しない、現在
825デフォルトの名無しさん
2019/06/28(金) 23:51:49.75ID:CM5w69Yd >>824
知らんけど聞く限り/bin/shの指し先が千差万別なのが諸悪の根元なんじゃないの?
どんなにショボくてもオリジナルのsh復興してそれ以外で書いちゃダメってことにすれば?
それで不便があったとしても、それが本来のshでしょ。
わがまま言っちゃいかん。
知らんけど聞く限り/bin/shの指し先が千差万別なのが諸悪の根元なんじゃないの?
どんなにショボくてもオリジナルのsh復興してそれ以外で書いちゃダメってことにすれば?
それで不便があったとしても、それが本来のshでしょ。
わがまま言っちゃいかん。
826デフォルトの名無しさん
2019/06/28(金) 23:54:24.85ID:2yxMx+rx オリジナルのsh = POSIX準拠ではない
改変版のsh = OSとそのバージョンの数だけ存在する(数十種類レベル)
改変版のsh = OSとそのバージョンの数だけ存在する(数十種類レベル)
827デフォルトの名無しさん
2019/06/29(土) 00:00:54.47ID:4wm1mmLB オリジナルのshのソースコード(C言語)
http://x68000.q-e-d.net/~68user/unix/pickup?sh
略
#define IF if(
#define THEN ){
#define ELSE } else {
#define ELIF } else if (
#define FI ;}
略
IF input>0
THEN Ldup(input,INIO);
input=INIO;
FI
略
(C言語)
http://x68000.q-e-d.net/~68user/unix/pickup?sh
略
#define IF if(
#define THEN ){
#define ELSE } else {
#define ELIF } else if (
#define FI ;}
略
IF input>0
THEN Ldup(input,INIO);
input=INIO;
FI
略
(C言語)
829デフォルトの名無しさん
2019/06/29(土) 00:09:28.44ID:Mqz9B8yO >>825
いやいや。POSIX規格の元がshではなくてkshということで、その時点でshは終わってる過去の遺物だろう
言うようなのは sh という別の規格があった方がいいと言っているようなもんだな。POSIXはなぜ作られたのかよーく考えよう
わがままwwてか「何も知らないくせにw」うるせーよっ
いやいや。POSIX規格の元がshではなくてkshということで、その時点でshは終わってる過去の遺物だろう
言うようなのは sh という別の規格があった方がいいと言っているようなもんだな。POSIXはなぜ作られたのかよーく考えよう
わがままwwてか「何も知らないくせにw」うるせーよっ
830デフォルトの名無しさん
2019/06/29(土) 00:10:03.56ID:4wm1mmLB831デフォルトの名無しさん
2019/06/29(土) 00:15:00.86ID:Mqz9B8yO >>827
Bourne さんは Algol68 プログラマであったそうで〜Bourne shell のソース自体も Algol68 風になっており
らしいからまあしょうがないんだろうと思うけど、defineの使い方の説明のサンプルでそういうのを見たことがあるが、まさか実際にというのは、それも有名どころがというはちょっと驚き
Bourne さんは Algol68 プログラマであったそうで〜Bourne shell のソース自体も Algol68 風になっており
らしいからまあしょうがないんだろうと思うけど、defineの使い方の説明のサンプルでそういうのを見たことがあるが、まさか実際にというのは、それも有名どころがというはちょっと驚き
832デフォルトの名無しさん
2019/06/29(土) 00:25:29.35ID:0fRKmc/o POSIX準拠をうたうOSのデフォルトシェルはPOSIX準拠を保証する。
Linuxの場合は/bin/shがこれにあたる。
ディストリによって実体は bash,dashと様々だが、
自身がshの場合はPOSIX互換モードで動作するようになっている。
とはいえ重箱の隅をつつけば、実装が追い付いていない部分はあるがね。
Linuxの場合は/bin/shがこれにあたる。
ディストリによって実体は bash,dashと様々だが、
自身がshの場合はPOSIX互換モードで動作するようになっている。
とはいえ重箱の隅をつつけば、実装が追い付いていない部分はあるがね。
833デフォルトの名無しさん
2019/06/29(土) 00:28:01.49ID:XWmNXWFB 互換と準拠を取り違えてるのか
初期のUNIXだとglobが外部コマンドらしいな
なんで検索機能をこう呼ぶのかよく分かったわ
初期のUNIXだとglobが外部コマンドらしいな
なんで検索機能をこう呼ぶのかよく分かったわ
834デフォルトの名無しさん
2019/06/29(土) 00:53:37.63ID:Mqz9B8yO >>824
>オリジナルのshがアレなのでbashとかkshとか出る、kshをベースにPOSIX規格を作る、POSIXの仕様に合わせようと各shellは頑張るが、方言あるやん(確かkshでさえ)なのでash(dash)が出る
オリジナルのshが機能不足だったり独特だったりで、(cshや)kshやbashやashやzshなどなどが出て乱立する
これはイカんということでPOSIXで規格をkshをベースに作る
ash(dash)は元々オリジナルshの(+ちょっとだけ機能追加した)再実装なので、それにPOSIX準拠という以外の余計なことは(ほとんどあまり)してない
ってとこかな
>オリジナルのshがアレなのでbashとかkshとか出る、kshをベースにPOSIX規格を作る、POSIXの仕様に合わせようと各shellは頑張るが、方言あるやん(確かkshでさえ)なのでash(dash)が出る
オリジナルのshが機能不足だったり独特だったりで、(cshや)kshやbashやashやzshなどなどが出て乱立する
これはイカんということでPOSIXで規格をkshをベースに作る
ash(dash)は元々オリジナルshの(+ちょっとだけ機能追加した)再実装なので、それにPOSIX準拠という以外の余計なことは(ほとんどあまり)してない
ってとこかな
835デフォルトの名無しさん
2019/06/29(土) 02:07:31.33ID:rJpz/Ysh 煮え切らない言い方だな…
そんなことしてるから可搬性なくなるんだよ。
機能不足だろうが独特だろうがそれがsh。
一切追加するな!余計なことするな!
そんなことしてるから可搬性なくなるんだよ。
機能不足だろうが独特だろうがそれがsh。
一切追加するな!余計なことするな!
836デフォルトの名無しさん
2019/06/29(土) 02:49:26.27ID:2GBw6kuy ググってなりもってこいよ、文句言うくらいだったら
文句言う自分では探さないで奇抜な怒りwだけって奇特な人だな
奇抜=あれやこれややる人が多数、そういうのが好まれ使われてるんだから、それを頭から否定する
文句言う自分では探さないで奇抜な怒りwだけって奇特な人だな
奇抜=あれやこれややる人が多数、そういうのが好まれ使われてるんだから、それを頭から否定する
837デフォルトの名無しさん
2019/06/29(土) 02:50:55.42ID:4wm1mmLB だからオリジナルのshだと可搬性がないんだって
838デフォルトの名無しさん
2019/06/29(土) 05:00:31.68ID:tuUcuaq1 「オリジナルのsh」とかいう自分用語で語るのやめてくれない?
839デフォルトの名無しさん
2019/06/29(土) 05:36:56.40ID:4wm1mmLB オリジナルのshという言い方が嫌なら、
最初に作られたshでもいいけど?
最初に作られたshでもいいけど?
840デフォルトの名無しさん
2019/06/29(土) 05:44:09.80ID:4wm1mmLB bash, zsh, ksh, (d)ash, yash, poshのいずれでもないshは可搬性がない
841デフォルトの名無しさん
2019/06/29(土) 06:13:45.36ID:khQF1iKv 文句言うだけが生きがいもしくは言わないと死んじゃうんだろうw
842デフォルトの名無しさん
2019/06/29(土) 07:46:29.87ID:tuUcuaq1 Bourneって「ボーン」って読むの?
843デフォルトの名無しさん
2019/06/29(土) 09:05:01.55ID:e/5j8c1q >>840
独自機能を使ったら可搬性がないのだからbash, zsh, ksh, (d)ash, yash, poshと別れてるのは百害あって一利なし。
bash, zsh, ksh, (d)ash, yash, poshのintersectionを取って新時代のshとし、他は滅ぶべし。
それ以外を使うものは地獄の業火で焼かれるべき。
独自機能を使ったら可搬性がないのだからbash, zsh, ksh, (d)ash, yash, poshと別れてるのは百害あって一利なし。
bash, zsh, ksh, (d)ash, yash, poshのintersectionを取って新時代のshとし、他は滅ぶべし。
それ以外を使うものは地獄の業火で焼かれるべき。
844デフォルトの名無しさん
2019/06/29(土) 09:06:26.66ID:YzN8MsSb bash はどこにでもあるイメージ
845デフォルトの名無しさん
2019/06/29(土) 11:12:01.76ID:XWmNXWFB UNIXでBourne shell誕生
SVR4で軽量版bshのash誕生
Debianで改良版ashのdash誕生
BSDでcsh誕生
cshの便利機能(alias、ジョブ制御)をbashが吸収
改良版cshのtcsh誕生
bshとcshと合わせたksh(ksh88、ksh93)誕生
kshは商用なのでフリー版(pdksh、mksh)誕生
既存シェルをつまみ食いしたbash誕生
改良版bashのzsh誕生
独立系のfish誕生
適当にググったけど種類多くてワロタわ
わざわざashを作った理由やkshが分かれてる理由が分からんが
SVR4で軽量版bshのash誕生
Debianで改良版ashのdash誕生
BSDでcsh誕生
cshの便利機能(alias、ジョブ制御)をbashが吸収
改良版cshのtcsh誕生
bshとcshと合わせたksh(ksh88、ksh93)誕生
kshは商用なのでフリー版(pdksh、mksh)誕生
既存シェルをつまみ食いしたbash誕生
改良版bashのzsh誕生
独立系のfish誕生
適当にググったけど種類多くてワロタわ
わざわざashを作った理由やkshが分かれてる理由が分からんが
846デフォルトの名無しさん
2019/06/29(土) 12:16:50.57ID:L6EEl7gg 可搬性ってそんなに重要か?
そこ重視すると可読性・メンテナンス性が、ひいては品質が落ちると思うんだがどうよ?
やりすぎると可搬性無くて死ぬだろうけど、各々の身辺環境は異なるのだから
各々が経験に応じて決めればよくね?
echo の引数で -n が使えるか使えないかなんて考えるのやめて10年以上経つわ。
そこ重視すると可読性・メンテナンス性が、ひいては品質が落ちると思うんだがどうよ?
やりすぎると可搬性無くて死ぬだろうけど、各々の身辺環境は異なるのだから
各々が経験に応じて決めればよくね?
echo の引数で -n が使えるか使えないかなんて考えるのやめて10年以上経つわ。
847デフォルトの名無しさん
2019/06/29(土) 14:11:03.73ID:L6EEl7gg848デフォルトの名無しさん
2019/06/29(土) 14:37:45.71ID:m0/FgwM7 どんどん便利な機能が追加されて良いではないか、みんな好きなの選べば?という人種と
何も変えてはいかん、全てを標準に合わせろ!という人種
大抵の人はその中間なんだろうけど。
bash-5.0 で取り入れられた新機能、一応フォローしておくか (そしてすぐ忘れる) と思うけど
それ積極的に使っていこうぜとは思わないもの。
何も変えてはいかん、全てを標準に合わせろ!という人種
大抵の人はその中間なんだろうけど。
bash-5.0 で取り入れられた新機能、一応フォローしておくか (そしてすぐ忘れる) と思うけど
それ積極的に使っていこうぜとは思わないもの。
849デフォルトの名無しさん
2019/06/29(土) 14:49:39.62ID:khQF1iKv 新機能のうちのいくつかもそのうち当たり前に使うようになってるでしょ。便利であれば
このスレでbash特有とかあるように
このスレでbash特有とかあるように
850デフォルトの名無しさん
2019/06/29(土) 15:04:32.87ID:khQF1iKv >>845
>bshとcshと合わせたksh(ksh88、ksh93)誕生
>kshは商用なのでフリー版(pdksh、mksh)誕生
>既存シェルをつまみ食いしたbash誕生
>改良版bashのzsh誕生
kshとcshを合わせたzshが誕生
じゃないかな。で、
bshにcshの便利なヒストリ(など)を取り込んだkshが誕生
ではないかな
時系列的には
https://d1jnx9ba8s6j9r.cloudfront.net/blog/wp-content/uploads/2019/05/Evolution-of-Linux-Shells-Types-of-Shells-in-Linux-Edureka-528x280.png
らしい。zshはcshの派生になってるけど正しくはkshからも引くべきだろうね、開発時のメッセージでそう明言してる
>bshとcshと合わせたksh(ksh88、ksh93)誕生
>kshは商用なのでフリー版(pdksh、mksh)誕生
>既存シェルをつまみ食いしたbash誕生
>改良版bashのzsh誕生
kshとcshを合わせたzshが誕生
じゃないかな。で、
bshにcshの便利なヒストリ(など)を取り込んだkshが誕生
ではないかな
時系列的には
https://d1jnx9ba8s6j9r.cloudfront.net/blog/wp-content/uploads/2019/05/Evolution-of-Linux-Shells-Types-of-Shells-in-Linux-Edureka-528x280.png
らしい。zshはcshの派生になってるけど正しくはkshからも引くべきだろうね、開発時のメッセージでそう明言してる
851デフォルトの名無しさん
2019/06/29(土) 16:07:00.45ID:khQF1iKv ああ、cshではなくてtcshだった
This is a shar file containing zsh, a ksh/tcsh-like shell.
This is a shar file containing zsh, a ksh/tcsh-like shell.
852デフォルトの名無しさん
2019/06/29(土) 16:24:24.49ID:0fRKmc/o853デフォルトの名無しさん
2019/06/29(土) 16:43:46.48ID:tuUcuaq1854デフォルトの名無しさん
2019/06/29(土) 16:53:39.78ID:0fRKmc/o >>853
POSIXは可搬性を高めるための規格なので逆だと思います。
POSIXは可搬性を高めるための規格なので逆だと思います。
855デフォルトの名無しさん
2019/06/29(土) 16:59:43.19ID:/BkVpaGH856デフォルトの名無しさん
2019/06/29(土) 17:05:11.99ID:/BkVpaGH857デフォルトの名無しさん
2019/06/29(土) 17:06:04.22ID:/BkVpaGH858デフォルトの名無しさん
2019/06/29(土) 17:13:24.88ID:/BkVpaGH >>845
> わざわざashを作った理由やkshが分かれてる理由が分からんが
オープンソースではないのでソースコードが公開されない
資産が生かせない
UNIXでBourne shell誕生
○(UNIX)がBourne shell改良、shの亜種○を作る
△(UNIX)が更に改良、shの亜種△を作る
□(UNIX)が更にl改良、shの亜種□を作る
◇(UNIX)が更にl改良、shの亜種◇を作る
UNIX界隈で、shという名前でバージョン番号すら
無いshの亜種が大量に生まれる
そしてshの最終形態でやっとPOSIXに
準拠したかもしれない程度のレベルで互換性がない
> わざわざashを作った理由やkshが分かれてる理由が分からんが
オープンソースではないのでソースコードが公開されない
資産が生かせない
UNIXでBourne shell誕生
○(UNIX)がBourne shell改良、shの亜種○を作る
△(UNIX)が更に改良、shの亜種△を作る
□(UNIX)が更にl改良、shの亜種□を作る
◇(UNIX)が更にl改良、shの亜種◇を作る
UNIX界隈で、shという名前でバージョン番号すら
無いshの亜種が大量に生まれる
そしてshの最終形態でやっとPOSIXに
準拠したかもしれない程度のレベルで互換性がない
859デフォルトの名無しさん
2019/06/29(土) 18:33:44.12ID:pTnnUNQ0860デフォルトの名無しさん
2019/06/29(土) 18:46:06.33ID:/BkVpaGH ああ、訂正 ライセンスがクソだったのでソースが再利用できない
861デフォルトの名無しさん
2019/06/29(土) 19:57:38.97ID:khQF1iKv ということでashは「再実装」なんだなと納得
862デフォルトの名無しさん
2019/06/29(土) 20:03:34.74ID:khQF1iKv あと
誰も Bourne shell の文法がどうなっているかを本当には知らない。ソースコードを調べてみてもほとんど役に立たない。
とかいうのもなんか納得できるな。違うかもだが。そういう時代だったのねと
rcという変わり種の作者がだから酷く言っているだけかと思った。それもあるかもだがw
誰も Bourne shell の文法がどうなっているかを本当には知らない。ソースコードを調べてみてもほとんど役に立たない。
とかいうのもなんか納得できるな。違うかもだが。そういう時代だったのねと
rcという変わり種の作者がだから酷く言っているだけかと思った。それもあるかもだがw
863デフォルトの名無しさん
2019/06/29(土) 20:11:26.48ID:LSJMfKyW >>861
正確に言えば、POSIX以前に作られた、 POSIX準拠してない Bourne shell を廃棄して
POSIX準拠で作り直したということ
(POSIX)シェルを再実装したのは正しいが、Bourne shellそのものを再実装したのではない
正確に言えば、POSIX以前に作られた、 POSIX準拠してない Bourne shell を廃棄して
POSIX準拠で作り直したということ
(POSIX)シェルを再実装したのは正しいが、Bourne shellそのものを再実装したのではない
864デフォルトの名無しさん
2019/06/29(土) 20:16:33.84ID:khQF1iKv865デフォルトの名無しさん
2019/06/29(土) 20:24:08.27ID:khQF1iKv Ash is a reimplementation of the System V shell. Currently it has most
features of that shell, plus some additions. It runs on 4.2 and 4.3BSD,
SystemV releases 1, 2, 3, SystemIII, and perhaps Version 7. Documentation
includes a list of differences, a manpage, and internals documentation.
It has several built-ins and shell functions.
のようだね。最初は。POSIX準拠はその後でという怪しい図のソコは間違っていないような
features of that shell, plus some additions. It runs on 4.2 and 4.3BSD,
SystemV releases 1, 2, 3, SystemIII, and perhaps Version 7. Documentation
includes a list of differences, a manpage, and internals documentation.
It has several built-ins and shell functions.
のようだね。最初は。POSIX準拠はその後でという怪しい図のソコは間違っていないような
866デフォルトの名無しさん
2019/06/29(土) 20:29:32.51ID:LSJMfKyW System V shellの再実装であって、Bourne shellの再実装ではない
867デフォルトの名無しさん
2019/06/29(土) 20:31:23.20ID:LSJMfKyW System V shellはBourne shellを名乗っているのかもしれないが、
オリジナルのBourne shellではない
オリジナルという言い方が気に食わないなら
最初に作られたshと読みかえれ
オリジナルのBourne shellではない
オリジナルという言い方が気に食わないなら
最初に作られたshと読みかえれ
868デフォルトの名無しさん
2019/06/29(土) 20:43:19.37ID:khQF1iKv 別にそこはどうでもいい。てかちょっと見苦しいかなw
869デフォルトの名無しさん
2019/06/29(土) 23:55:59.43ID:tuUcuaq1 >>850
なんか揉めそうだけど、その図のより正確な版を5ch wikiかなにかに作ったらいいかもね。
なんか揉めそうだけど、その図のより正確な版を5ch wikiかなにかに作ったらいいかもね。
870デフォルトの名無しさん
2019/06/30(日) 00:09:13.01ID:wmvzG4iV Bourne Shellに親でも殺されたのか?
871デフォルトの名無しさん
2019/06/30(日) 00:55:36.25ID:1ALBmyOB POSIXに親を殺された奴もいるしなw
872デフォルトの名無しさん
2019/06/30(日) 03:55:44.69ID:rfDMTcnr873デフォルトの名無しさん
2019/06/30(日) 03:59:41.59ID:CMkdrv99 iocall attach user_output file xx
list
iocall attach user_output syn user_i/o
Multicsだとls >xxがこの記述量らしいな
パイプさまさまだわ
list
iocall attach user_output syn user_i/o
Multicsだとls >xxがこの記述量らしいな
パイプさまさまだわ
874デフォルトの名無しさん
2019/06/30(日) 04:34:44.87ID:29vlF+26 どこにパイプが...
875デフォルトの名無しさん
2019/06/30(日) 05:20:49.27ID:uXv60RDl >>872
dashで動けば、他のシェルでも動くよ
dashで動けば、他のシェルでも動くよ
876デフォルトの名無しさん
2019/06/30(日) 09:29:10.65ID:sdmPaDuU シェルスクリプトで可搬性のあるコードを書くのはそもそも無理がある
877デフォルトの名無しさん
2019/06/30(日) 10:28:41.23ID:2juPiYlp >>846
だよな。どこでも動くシェルスクリプトなんて都市伝説だし。
だよな。どこでも動くシェルスクリプトなんて都市伝説だし。
878デフォルトの名無しさん
2019/06/30(日) 10:43:07.31ID:Fo3wYRY8879デフォルトの名無しさん
2019/06/30(日) 16:52:33.33ID:rfDMTcnr >>875,878
なんでスクリプトの構文のみの話になってるの? 可搬性の話がずれてる。
autoconf が作る configure のような、メンテナンス性・可読性皆無だが比較的どこでも動くスクリプトみたいな奴
だと思ってるんだが皆はどういう認識なのよ?
なんでスクリプトの構文のみの話になってるの? 可搬性の話がずれてる。
autoconf が作る configure のような、メンテナンス性・可読性皆無だが比較的どこでも動くスクリプトみたいな奴
だと思ってるんだが皆はどういう認識なのよ?
880デフォルトの名無しさん
2019/06/30(日) 17:13:52.68ID:DWafJWcS シェルの仕様だけの問題じゃなくて、コマンドがOS、バージョンによってまちまち
IPアドレス取得するだけでも大量にバリエーションがあってどうにもならないから、Linuxではifconfigが非推奨になった
IPアドレス取得するだけでも大量にバリエーションがあってどうにもならないから、Linuxではifconfigが非推奨になった
881デフォルトの名無しさん
2019/06/30(日) 18:00:24.49ID:Fo3wYRY8 コマンドもPOSIX準拠のものだけ使うに決まってるじゃん
はい、可搬性ありまーす
rubyでsedを呼び出していて、非POSIXのオプション使ってるから
rubyは可搬性がないとか言われても困るw
この場合可搬性がないのはsed(の非POSIXのオプション)であって
呼び出してる言語(ruby or shell)が可搬性がないわけではない
はい、可搬性ありまーす
rubyでsedを呼び出していて、非POSIXのオプション使ってるから
rubyは可搬性がないとか言われても困るw
この場合可搬性がないのはsed(の非POSIXのオプション)であって
呼び出してる言語(ruby or shell)が可搬性がないわけではない
882デフォルトの名無しさん
2019/06/30(日) 18:38:54.22ID:29vlF+26883デフォルトの名無しさん
2019/06/30(日) 18:47:02.27ID:Fo3wYRY8 はぁ、なんでこんなに頭が悪いんだろう。
「C言語が吐き出すアセンブリ言語」は「どこでも動くアセンブリ言語」じゃないから
C言語は可搬性がないという主張ですかね。
ほんと、頭わりぃ
「C言語が吐き出すアセンブリ言語」は「どこでも動くアセンブリ言語」じゃないから
C言語は可搬性がないという主張ですかね。
ほんと、頭わりぃ
884デフォルトの名無しさん
2019/06/30(日) 19:12:33.55ID:wmvzG4iV 「POSIXクソだりー可搬性なんていらん」とかいうやつはshellcheckとかリンター使えよ
885デフォルトの名無しさん
2019/06/30(日) 19:29:06.56ID:/aVhErQn >>869
https://output.jsbin.com/hekociluta
Draw.io (http://www.draw.io/) ドキュメント
https://pastebin.com/KzSajdA8
間違ってるとこもあるだろうが、あとは自分で
https://output.jsbin.com/hekociluta
Draw.io (http://www.draw.io/) ドキュメント
https://pastebin.com/KzSajdA8
間違ってるとこもあるだろうが、あとは自分で
886デフォルトの名無しさん
2019/06/30(日) 20:26:11.65ID:1ALBmyOB >>881
それな。
「シェルスクリプトは可搬性がない!」なんて言ってる奴が単に可搬性のある書き方を知らないだけだと思う。
もちろんPOSIXに準拠するかしないかは個人の自由だけど
そんなことも知らずにPOSIX規格に記載のない書き方をしておいて「可搬性がない」は失笑モノだわ。
それな。
「シェルスクリプトは可搬性がない!」なんて言ってる奴が単に可搬性のある書き方を知らないだけだと思う。
もちろんPOSIXに準拠するかしないかは個人の自由だけど
そんなことも知らずにPOSIX規格に記載のない書き方をしておいて「可搬性がない」は失笑モノだわ。
887デフォルトの名無しさん
2019/06/30(日) 21:48:35.95ID:2juPiYlp 他で動かないように書けてしまうのが問題。
POSIX範囲外の余計な機能を付けるからだ。
すべて削除してPOSIX以外書けないひとつのshにするべし。
POSIX範囲外の余計な機能を付けるからだ。
すべて削除してPOSIX以外書けないひとつのshにするべし。
888デフォルトの名無しさん
2019/06/30(日) 22:03:54.02ID:pDzbN/vc \
 ̄ヽ、 _ノ
○
O と思うハゲであった
___
o,.,  ̄ `丶、
.〃;.; ; O `、
/;i;i;.; ; ° ヽ
j!;i;i;i;.; `、
.j!;i;i; ; V
. , -v{功テえ三≧k j i i}
.i;i;i;i∧;{i ___ ヽ〉-- 〃ヌニ≠ェァ;,、_ /〉
{i;i;i;i;i;i;ム ‘、 ̄≧ j.r−v{! __ `v身≧"
i;i;j!;i;i;i;.;丶 _ .ノノ `ム、´⌒`ー /;アー7´〉
. v;i;i;i; ;´ ,ァ 丶`_ ノ/ / y゜
. j;i;i;i;.; ィ( {! ヽ, i}U
. {;i;i;.; /‘≠ー弋__. ヘ iノ
:;i;i;.; ; }/ ____  ̄ \ |
.人;i;i;i;.; ト 卞、カv ̄T++=a、 〉 j}
.__/ ∧;i;i;i;,ミ 、  ̄ ̄ ̄ ̄ ̄ j〕 /^
\ ∧;弋ミ /
\ へ`,,ヾ;.;, ィ爪
ヽ へ、 . ´/ ト、__
} >; ,,__ーァ ´ .イ i \ ̄\
〃/⌒ヽ.j \ \
 ̄ヽ、 _ノ
○
O と思うハゲであった
___
o,.,  ̄ `丶、
.〃;.; ; O `、
/;i;i;.; ; ° ヽ
j!;i;i;i;.; `、
.j!;i;i; ; V
. , -v{功テえ三≧k j i i}
.i;i;i;i∧;{i ___ ヽ〉-- 〃ヌニ≠ェァ;,、_ /〉
{i;i;i;i;i;i;ム ‘、 ̄≧ j.r−v{! __ `v身≧"
i;i;j!;i;i;i;.;丶 _ .ノノ `ム、´⌒`ー /;アー7´〉
. v;i;i;i; ;´ ,ァ 丶`_ ノ/ / y゜
. j;i;i;i;.; ィ( {! ヽ, i}U
. {;i;i;.; /‘≠ー弋__. ヘ iノ
:;i;i;.; ; }/ ____  ̄ \ |
.人;i;i;i;.; ト 卞、カv ̄T++=a、 〉 j}
.__/ ∧;i;i;i;,ミ 、  ̄ ̄ ̄ ̄ ̄ j〕 /^
\ ∧;弋ミ /
\ へ`,,ヾ;.;, ィ爪
ヽ へ、 . ´/ ト、__
} >; ,,__ーァ ´ .イ i \ ̄\
〃/⌒ヽ.j \ \
889デフォルトの名無しさん
2019/06/30(日) 22:10:03.75ID:XM+o4kuM posix linker 作ったら需要ありそうだな?
890デフォルトの名無しさん
2019/06/30(日) 22:37:50.33ID:29vlF+26891デフォルトの名無しさん
2019/06/30(日) 22:40:13.43ID:rfDMTcnr >>886
結局複数環境で動かすには何が必要かは置かれた環境でまちまちなわけで。
grep や awk が POSIX 対応していない環境だってあるわけで、そういう人からすると
POSIX 準拠してればいいって言ってる人は論外なわけなんだわ。
結局複数環境で動かすには何が必要かは置かれた環境でまちまちなわけで。
grep や awk が POSIX 対応していない環境だってあるわけで、そういう人からすると
POSIX 準拠してればいいって言ってる人は論外なわけなんだわ。
892デフォルトの名無しさん
2019/06/30(日) 22:44:16.79ID:rfDMTcnr >>882
流石に「そのシステム専用」は失礼過ぎないか?
FreeBSD でも Linux でも AIX でも Solaris でも大概な UNIX ライクなシステムで動くし、それらの環境を持ってない
開発者が作ったプログラムを安全にサポートしてくれてるでしょ?
それとも autoconf とか automake とか使ったことない人かな? なら黙っててよ。
流石に「そのシステム専用」は失礼過ぎないか?
FreeBSD でも Linux でも AIX でも Solaris でも大概な UNIX ライクなシステムで動くし、それらの環境を持ってない
開発者が作ったプログラムを安全にサポートしてくれてるでしょ?
それとも autoconf とか automake とか使ったことない人かな? なら黙っててよ。
893デフォルトの名無しさん
2019/06/30(日) 22:50:27.23ID:wmvzG4iV894デフォルトの名無しさん
2019/06/30(日) 22:56:53.99ID:rfDMTcnr >>893
準拠してるっていっても非準拠の時代に対して互換性を確保する必要があるから PATH を通す順番
変えるとかでシステムごとに if 文地獄。
ここまでちゃんとやって可搬性があるって胸張れるってもんでしょ。
準拠してるっていっても非準拠の時代に対して互換性を確保する必要があるから PATH を通す順番
変えるとかでシステムごとに if 文地獄。
ここまでちゃんとやって可搬性があるって胸張れるってもんでしょ。
895デフォルトの名無しさん
2019/06/30(日) 22:59:21.24ID:Fo3wYRY8896デフォルトの名無しさん
2019/06/30(日) 23:03:50.43ID:29vlF+26897デフォルトの名無しさん
2019/06/30(日) 23:06:51.19ID:wmvzG4iV898デフォルトの名無しさん
2019/06/30(日) 23:12:25.38ID:rfDMTcnr >>895,896
当然 Yes ですよ?
そのシステムだけで動くものなら最初から Makefile だけつくってりゃいいって話になる。
ちゃんと書けてない、エラーメッセージろくによんでないからそうなるだけだろ?
当然 Yes ですよ?
そのシステムだけで動くものなら最初から Makefile だけつくってりゃいいって話になる。
ちゃんと書けてない、エラーメッセージろくによんでないからそうなるだけだろ?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【卓球】早田ひな、「総額100万スられた」「ずっと憧れていたスペインとイタリア…」ヨーロッパ旅行で悲劇 スリ被害を告白 [muffin★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 産経新聞「高市早苗の答弁さぁ……思慮が足りてなくね?官僚と詰めずに思いつきで話しているでしょ」 [175344491]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
