シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
前スレ: シェルスクリプト総合 その35
https://mevius.5ch.net/test/read.cgi/tech/1606221440/
関連スレ
・【Bash】Windows Subsystem for Linux【WSL】9
https://mao.5ch.net/test/read.cgi/linux/1607589861/
・Bashでプログラミング [転載禁止](c)2ch.net
https://mao.5ch.net/test/read.cgi/linux/1443885102/
・シェルスクリプト総合 その28
https://mevius.5ch.net/test/read.cgi/unix/1533154936/
・zsh その7
https://mevius.5ch.net/test/read.cgi/unix/1337844883/
・過去UNIXで使われていた ksh というシェルについて
https://mevius.5ch.net/test/read.cgi/unix/1582358403/
・【POSIX】UNIXプログラミング【BSD】 [転載禁止](c)2ch.net
https://mevius.5ch.net/test/read.cgi/unix/1443103705/
・おまえら! shell は何を使っているんですか?
https://mevius.5ch.net/test/read.cgi/unix/1012330865/
探検
シェルスクリプト総合 その36
レス数が1000を超えています。これ以上書き込みはできません。
2021/02/25(木) 09:20:14.64ID:ZyJLXTlk
976デフォルトの名無しさん
2021/10/11(月) 20:08:45.72ID:AmMau6EN >>973
失敗したら真を返すってC言語の場合だとどうかきたいの?
https://ja.wikipedia.org/wiki/%E3%83%96%E3%83%BC%E3%83%AA%E3%82%A2%E3%83%B3%E5%9E%8B#C99
> C99ではブーリアン型を格納したりするための型が作られ、その型のためのキーワード _Bool が追加された。
失敗したら真を返すってC言語の場合だとどうかきたいの?
https://ja.wikipedia.org/wiki/%E3%83%96%E3%83%BC%E3%83%AA%E3%82%A2%E3%83%B3%E5%9E%8B#C99
> C99ではブーリアン型を格納したりするための型が作られ、その型のためのキーワード _Bool が追加された。
977デフォルトの名無しさん
2021/10/11(月) 22:58:31.30ID:Fcy0jrOe >>976
Wikipediaで言うと
https://ja.m.wikipedia.org/wiki/終了ステータス
の意味論最終段
時には、終了ステータスをうまく設計し、呼び出した側のプログラムがそれをそのまま条件分岐のインデックスとして使うということも可能である。
の所かな。
結局、
>>975 ですよね。
Wikipediaで言うと
https://ja.m.wikipedia.org/wiki/終了ステータス
の意味論最終段
時には、終了ステータスをうまく設計し、呼び出した側のプログラムがそれをそのまま条件分岐のインデックスとして使うということも可能である。
の所かな。
結局、
>>975 ですよね。
978デフォルトの名無しさん
2021/10/11(月) 23:33:54.95ID:0Us0xwCf >>976
C API的には
EXIT_SUCCESS
EXIT_FAILURE
を使う
前者は0であることが規格で決まってる
後者は0以外だが特に決まってない
特定の値、例えば1に依存したいならこのマクロは使ってはいけない
C API的には
EXIT_SUCCESS
EXIT_FAILURE
を使う
前者は0であることが規格で決まってる
後者は0以外だが特に決まってない
特定の値、例えば1に依存したいならこのマクロは使ってはいけない
979デフォルトの名無しさん
2021/10/11(月) 23:35:05.68ID:0Us0xwCf >>973
マクロ名が成否なんで
マクロ名が成否なんで
980デフォルトの名無しさん
2021/10/12(火) 00:23:03.15ID:4emiI4KE >>978
「C API」とか言うヤツがどこまでわかってんだか。w
「C API」とか言うヤツがどこまでわかってんだか。w
981デフォルトの名無しさん
2021/10/12(火) 00:47:23.22ID:lvIpixgN ルビーの国へさっさとお帰り
982デフォルトの名無しさん
2021/10/12(火) 02:14:19.27ID:jMkI4z1q C/C++の関数は成功で1を返すのが多いと思う
strcmpみたいなのは例外
WindowsのAPIとかunixのシステムコールも基本的には同上だと思う
ところがシェルのコマンドとして観た場合 !0 は失敗で成功が 0
初心者はここで混乱する
strcmpみたいなのは例外
WindowsのAPIとかunixのシステムコールも基本的には同上だと思う
ところがシェルのコマンドとして観た場合 !0 は失敗で成功が 0
初心者はここで混乱する
983デフォルトの名無しさん
2021/10/12(火) 02:50:11.86ID:qBBV2SpK984デフォルトの名無しさん
2021/10/12(火) 04:02:37.92ID:4emiI4KE >>982
またええかげんなことを。。。
strcmpの戻り値は、成功か失敗かではなく、大小関係だから。
C標準関数、UNIXシステムコールの多くは、失敗時に-1、成功時は0や非負整数を返す。
ちなみにエラーの内容はグローバル変数errno。
初心者は、歴史的事情とか現実の適当さとかを知らない。
だから、まったくの別物にも、なにか統一的なルールがあるはず、と勝手に夢想して勝手に混乱してまう。
そんなヤツもじきにわかる。
ルールがあるとしたらただひとつ、ルールなんか存在しないのだということ。
つーか、ええから黙って覚えろ!
またええかげんなことを。。。
strcmpの戻り値は、成功か失敗かではなく、大小関係だから。
C標準関数、UNIXシステムコールの多くは、失敗時に-1、成功時は0や非負整数を返す。
ちなみにエラーの内容はグローバル変数errno。
初心者は、歴史的事情とか現実の適当さとかを知らない。
だから、まったくの別物にも、なにか統一的なルールがあるはず、と勝手に夢想して勝手に混乱してまう。
そんなヤツもじきにわかる。
ルールがあるとしたらただひとつ、ルールなんか存在しないのだということ。
つーか、ええから黙って覚えろ!
985デフォルトの名無しさん
2021/10/12(火) 09:48:27.17ID:EPRomWCK986デフォルトの名無しさん
2021/10/12(火) 10:39:00.32ID:l2L6GWVJ だからC言語で真偽値を返したいって言ってるんだろ!
987デフォルトの名無しさん
2021/10/12(火) 10:52:14.50ID:OF6dTiE4 関数とプログラムの返り値を一緒にするなよバカ
988デフォルトの名無しさん
2021/10/12(火) 13:27:15.11ID:4emiI4KE >>986
じゃあシェルスクリプトのスレに来んなよ!w
じゃあシェルスクリプトのスレに来んなよ!w
989デフォルトの名無しさん
2021/10/12(火) 13:39:53.56ID:FcrICImt >>982
まあ、これなんだよね(笑)
要はシェルスクリプトだけは成功やノーエラーは0でないとだめよん、と覚えておきゃいいだけよ。
他は他でそれぞれの流儀があるならそれに従いなさい、ってだけのこと。
まあ、どうしてもってんなら、シェルスクリプトで成功で1を返したっていいけど、あとあと面倒くさいことになるよ、ってだけ。
まあ、これなんだよね(笑)
要はシェルスクリプトだけは成功やノーエラーは0でないとだめよん、と覚えておきゃいいだけよ。
他は他でそれぞれの流儀があるならそれに従いなさい、ってだけのこと。
まあ、どうしてもってんなら、シェルスクリプトで成功で1を返したっていいけど、あとあと面倒くさいことになるよ、ってだけ。
990デフォルトの名無しさん
2021/10/12(火) 15:15:35.32ID:FcrICImt つか、問題が少しずれてるんだな。
シェルスクリプトで、0がノーエラーでなければいけない理由はif文の条件式の判定が
特殊だから。
シェルスクリプトでは、
if C then; A else B fi
となってる場合、Cが0のときが真という扱いになっているから。
普通のプログラミング言語では、ここはCが0のときは偽、それ以外は真。
ここがシェルスクリプトの独特な点。
だから、成功は0を返しなさいよ、ってことになるわだ。
シェルスクリプトで、0がノーエラーでなければいけない理由はif文の条件式の判定が
特殊だから。
シェルスクリプトでは、
if C then; A else B fi
となってる場合、Cが0のときが真という扱いになっているから。
普通のプログラミング言語では、ここはCが0のときは偽、それ以外は真。
ここがシェルスクリプトの独特な点。
だから、成功は0を返しなさいよ、ってことになるわだ。
991デフォルトの名無しさん
2021/10/12(火) 15:55:22.72ID:4emiI4KE >>990
そもそも、シェルスクリプトのifの後に書けるのは条件式ではない。
条件式だとか思うから、ほかと違うんだ、特殊なんだと考えてしまったりして混乱する。
あくまでコマンドラインなんだから、ほかのプログラム言語を引き合いに出そうとした時点でもうおかしい。
そもそも、シェルスクリプトのifの後に書けるのは条件式ではない。
条件式だとか思うから、ほかと違うんだ、特殊なんだと考えてしまったりして混乱する。
あくまでコマンドラインなんだから、ほかのプログラム言語を引き合いに出そうとした時点でもうおかしい。
992デフォルトの名無しさん
2021/10/12(火) 16:22:35.41ID:FcrICImt >>991
あくまでもコマンドライン、って考え方がもうおかしい(笑)
コマンドラインってのはあくまでも多少制限されているだけのスクリプトを書く場所、だよw
あと、ifの後に書くのは条件「式」だよ。そういう屁理屈こねたいなら、値ってのは式のうち、てくらいの常識はわきまえておいてねw
あくまでもコマンドライン、って考え方がもうおかしい(笑)
コマンドラインってのはあくまでも多少制限されているだけのスクリプトを書く場所、だよw
あと、ifの後に書くのは条件「式」だよ。そういう屁理屈こねたいなら、値ってのは式のうち、てくらいの常識はわきまえておいてねw
993デフォルトの名無しさん
2021/10/12(火) 16:33:25.35ID:4emiI4KE994デフォルトの名無しさん
2021/10/12(火) 16:35:06.18ID:FcrICImt995デフォルトの名無しさん
2021/10/12(火) 16:37:10.01ID:FcrICImt996デフォルトの名無しさん
2021/10/12(火) 16:51:48.17ID:h64P2lE5 シェルスクリプトのifの後に書けるのは条件式ではない、コマンド
コマンドライン云々はif文のそこにではなく、シェルスクリプトがなんのためにってことだろう
まあ未だに他の言語と同じと言い張り、いろいろ理解力が足りないのにイキってるw奴には読めない理解できないんだろな
コマンドライン云々はif文のそこにではなく、シェルスクリプトがなんのためにってことだろう
まあ未だに他の言語と同じと言い張り、いろいろ理解力が足りないのにイキってるw奴には読めない理解できないんだろな
997デフォルトの名無しさん
2021/10/12(火) 17:43:56.49ID:FcrICImt >>996
コマンド呼び出しになるのは「式の値」が問題だからだよ。
ほんと面倒くさいな。true、falseコマンドも知らねーの?w
あくまもコマンドラインだから、シェルスクリプトはプログラムじゃない、プログラム言語じゃないと
強弁するつもりなの?w
あのさあ、俺が誰かなのかを下衆って勘繰る暇があるなら、コンピュータと日本語を
ちゃんと勉強しような?w
コマンド呼び出しになるのは「式の値」が問題だからだよ。
ほんと面倒くさいな。true、falseコマンドも知らねーの?w
あくまもコマンドラインだから、シェルスクリプトはプログラムじゃない、プログラム言語じゃないと
強弁するつもりなの?w
あのさあ、俺が誰かなのかを下衆って勘繰る暇があるなら、コンピュータと日本語を
ちゃんと勉強しような?w
998デフォルトの名無しさん
2021/10/12(火) 17:50:56.74ID:elEZT6pO999デフォルトの名無しさん
2021/10/12(火) 17:51:17.62ID:elEZT6pO1000デフォルトの名無しさん
2021/10/12(火) 17:52:21.03ID:elEZT6pO はい、おしまい
真偽値と終了ステータスの区別もつかないのはアホ
真偽値と終了ステータスの区別もつかないのはアホ
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 229日 8時間 32分 7秒
新しいスレッドを立ててください。
life time: 229日 8時間 32分 7秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 一律現金給付も消費減税もなし 高市内閣の経済対策に割れる世論 [蚤の市★]
- 空自機レーダー照射、音声データ公開 中国 ★3 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 津波警報の発表中にグーグル検索、AIが「すべて解除」と誤情報 [蚤の市★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 【実況】博衣こよりのえちえち朝活🧪 2
- 【実況】博衣こよりのえちえち朝活🧪
- 中国大使さん、麻生太郎を『この政治屋』と名指しし正論長文を投稿。 [271912485]
- 中国「もはや高市の謝罪や撤回で済まされるフェーズは過ぎ去った。辞任以外の選択肢ない」 [271912485]
- 【高市悲報】日本人のTikTokアカウントが続々収益化剥奪中!!乞食どもざまああああああああwwwwwww [394917828]
- ネトウヨ「中国は政府が人民に金使って世論操作のヤラセ書き込みをさせている国。」 [153490809]
