X



シェルスクリプト総合 その37
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2021/10/05(火) 22:49:30.91ID:KsbWuyFp
シェルスクリプトに関する総合スレッドです。

全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
・「POSIX原理主義」「ユニケージ」「USP研究所」はPOSIXとUnixを曲解し
間違ったシェルスクリプトを広めている宗教です。洗脳されないようにしてください。

前スレ: シェルスクリプト総合 その36
https://mevius.5ch.net/test/read.cgi/tech/1614212414/

関連スレ
・【Bash】Windows Subsystem for Linux【WSL】11
https://mao.5ch.net/test/read.cgi/linux/1627507889/
・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/
0101デフォルトの名無しさん
垢版 |
2021/10/12(火) 21:23:05.58ID:h64P2lE5
>>99
言うなら 次世代シェルスクリプト だな。もちろん未だにそんなのない
if command;
の話をしてるんだから、関係ないよ
この形式は後も残るし、その拡張とは別の話をしてるんだし
0102デフォルトの名無しさん
垢版 |
2021/10/12(火) 21:27:53.18ID:FcrICImt
結局、lD:h64P2lE5人の発言にただケチをつけて大物ぶりたがるだけの
ネットチンピラだった、ということでいいよな?w
0103デフォルトの名無しさん
垢版 |
2021/10/12(火) 21:29:09.94ID:C/eJVmIN
じゃあ (( 0 )) は禁止でいいよ。代わりに [ 0 ] 使うからな

if [ 0 ]; then echo 真; else echo 偽; fi


if [ 1 ]; then echo 真; else echo 偽; fi


if [ 2 ]; then echo 真; else echo 偽; fi


if [ -1 ]; then echo 真; else echo 偽; fi


あれれー?全部真じゃねーか。
どう説明してくれるのかな?
0104デフォルトの名無しさん
垢版 |
2021/10/12(火) 21:30:19.79ID:h64P2lE5
>>102
「ケチをつけて」だってww
「大物ぶりたがる」だってwwwww
お前の勝手な受け取りでしかないな
もう、本当に、お前はwwwwwww やっぱりもっと上の称号を上げたいとは思ってしまう
0105デフォルトの名無しさん
垢版 |
2021/10/12(火) 21:31:42.55ID:FcrICImt
>>104
だって、お前、結局、一つも俺の発言の間違いを
指摘できなかったじゃんw
それは客観的な事実でしょw
0107デフォルトの名無しさん
垢版 |
2021/10/12(火) 21:32:54.54ID:h64P2lE5
>>103
testコマンドの結果(testコマンドが終わるときのExit Statusの値)でしかない
testコマンドに何故なのか書いてあるだろう
シェルスクリプトの話ではない=シェルはそれに関係してないよ
0108デフォルトの名無しさん
垢版 |
2021/10/12(火) 21:34:55.96ID:h64P2lE5
>>105
さすがwwwwすげえええwwww
まだそんなこと「言い張る」のなww
客観的な事実wwwwwwwww
すげえなあ、本当に、マジでマジで
0109デフォルトの名無しさん
垢版 |
2021/10/12(火) 21:36:55.49ID:FcrICImt
>>107
なに、とうとう宗旨替え?w
こっそりと紛れようと?w

ま、なんつーか、もうすこし謙虚さをみにつけなさい。
そうしたら、コンピュータやプログラミング言語も理解
できるようになるよw
0110デフォルトの名無しさん
垢版 |
2021/10/12(火) 21:38:27.71ID:h64P2lE5
>>103,107
string True if string is not the null string.
これだな
>あれれー?全部真じゃねーか。
>どう説明してくれるのかな?
わかったならもう出る必要ないぞ
0111デフォルトの名無しさん
垢版 |
2021/10/12(火) 21:39:03.20ID:C/eJVmIN
>>106
やりなおしじゃねーよ。
重要なことだろ

お前が言ってる真とか偽の話は、testコマンドの話であって
シェルスクリプトと関係ねーんだよ

if [ 0 ]; then echo 真; else echo 偽; fi


if [ 1 ]; then echo 真; else echo 偽; fi


両方が真になる理由を言ってみろ
testコマンドの仕様じゃねーか
0114デフォルトの名無しさん
垢版 |
2021/10/12(火) 21:41:24.99ID:C/eJVmIN
一方こっちはPOSIXシェルじゃないってだけで
シェルスクリプト仕様なんだわ

if (( 0 )); then echo 真; else echo 偽; fi


if (( 1 )); then echo 真; else echo 偽; fi


((コマンドなんてないからな
0115デフォルトの名無しさん
垢版 |
2021/10/12(火) 21:41:30.85ID:FcrICImt
>>111
シェルスクリプトの仕様の話であって、
testコマンドの仕様の話じゃないよ。
そんなこともわかんねーの?
つまんないやつ。
じゃあ、もういいから出てくんなよ。
0116デフォルトの名無しさん
垢版 |
2021/10/12(火) 21:41:41.05ID:h64P2lE5
>>111
お前もどうだかと思うがw、ヤツはもっとだぞ
どうすんの?やめといたほうがいいと思うぞw
0117デフォルトの名無しさん
垢版 |
2021/10/12(火) 21:43:37.74ID:C/eJVmIN
testコマンドじゃなくexprコマンドを使えば
この通り0が偽で1が真になる

$ if expr 0; then echo 真; else echo 偽; fi
0


$ if expr 1; then echo 真; else echo 偽; fi
1


シェルスクリプトと同じ結果

if (( 0 )); then echo 真; else echo 偽; fi


if (( 1 )); then echo 真; else echo 偽; fi
0120デフォルトの名無しさん
垢版 |
2021/10/12(火) 21:47:41.25ID:FcrICImt
>>118
無礼だなあw
態度と思考はお前が最悪だろうにw
謙虚に、と言っただろ?w
そういうことやってるとまた間違えて恥を晒すことになるぞ?w
0123デフォルトの名無しさん
垢版 |
2021/10/12(火) 21:50:51.74ID:h64P2lE5
>>122
test の 0 も 1 も文字でしかないからな、そういう「testコマンド[の]」
exprもtestを置き換えれば同じ話
0125デフォルトの名無しさん
垢版 |
2021/10/12(火) 22:37:31.32ID:FcrICImt
>>123
ほら、言ったそばからこれだよ…
謙虚に、っていったろ?
exprの終了コードは特殊なんだよ。
わからないことはわからないとまず認めること。
テキトーこいてごまかそうなんて一番ダメだ。
0126デフォルトの名無しさん
垢版 |
2021/10/12(火) 22:54:40.85ID:h64P2lE5
>>125
「特殊」=「exprコマンド[の]」
本当にお前は読めないやつだな
何が「謙虚に」だよ、お前こそ謙虚に読みやがれよw
0128デフォルトの名無しさん
垢版 |
2021/10/12(火) 23:04:22.32ID:h64P2lE5
>>127
お前こそお前が言った「ケチつけて」でばっかというのが気づかないんだなあ
>>11,12をちゃんと謙虚に読めよw
その流れのうちの話でしかないからな
それも読まない/読めないくてだからなあ、言っても「全く」わからないんだろうけど
0130デフォルトの名無しさん
垢版 |
2021/10/12(火) 23:07:56.95ID:FcrICImt
>>128
だからちゃんと自分のレスを読み返してねw
間違ってるぞw
testとexprの終了コードは同じじゃないぞw
もう面倒だから、これ以上の指摘もしないけど。

つか、このスレこんな自称「プロ」みたいのが常駐してんの?w
うへぇw
0131デフォルトの名無しさん
垢版 |
2021/10/12(火) 23:12:44.17ID:h64P2lE5
>>130
...すんげー読めなさぶりを発揮してくれちゃってもうwwwww
本当にお前はwww
誰も評価が同じとは言ってない。そこかよwww

exprだろうがtestだろうがコマンド[の](独自とか独特とか何でもいいけどそんなん)でしかないと読めると思ったんだがなあ
[の]の後に何が続くかも読めないのか...何が続くと思ったのだろう?いや続くとは思わなかったのか??不思議だなあ
(
日本語日本語とお前は言ってるが、日本語小説読めないぞそんなんじゃ。読まない読めないのか?)
0132デフォルトの名無しさん
垢版 |
2021/10/12(火) 23:23:38.49ID:FcrICImt
>>131
うん、少しわかったw君は日本語が書けないんだね?w
日本語ができないのかwまずそこから勉強しようねw
0133デフォルトの名無しさん
垢版 |
2021/10/12(火) 23:25:37.38ID:h64P2lE5
>>132
お前にもわかるような教科書や参考書のような日本語は面倒で書くわけがないわな
お前が望んでるのはそんなのだなw
0134デフォルトの名無しさん
垢版 |
2021/10/12(火) 23:28:04.77ID:FcrICImt
>>133
なるほどね。
だから、俺の書いてあることがよくわからなくて、
いちゃもんつけて絡んできたわけか。
最低だな。まさにネットチンピラだねw
0135デフォルトの名無しさん
垢版 |
2021/10/12(火) 23:32:03.22ID:h64P2lE5
>>134
wwwwww
何で「だから〜」になるやねんwwwww
さすがだなあ

お前が読めない読まないくせに。俺だけじゃないらしいぞお前のそういう評価はw
それを踏まえての>>133なんだが、何故その理解になるんだか、七不思議
まあ、それもお前は自分の言ってることが正しいとお前だけ言い張るからだろうけど
0136デフォルトの名無しさん
垢版 |
2021/10/12(火) 23:38:40.11ID:h64P2lE5
>>134
華麗にスルーされたけどさ、

前スレ>>989なんて言ってるけど、確かにWindows APIはBooleanで返すのが多い
だがそれはWindows APIの文化でしかない、シェルスクリプトの本家wであるUnixで何か書いたことがあるなら文化が違うとわかりそうなもんだが、なぜかWindows APIのが全てと言ってそうな前スレ>>989
WSLからのにわかか?

って、合ってる?w
あと、宮城県に住んでいたりする?w
日付も変わるし、>>11,12以降何も意味あることないからw(互いになww)、もう締めようかと
で、>>12での俺の疑問と、後はなんかソレっぽい(まあ、無いと思うけど)確認したいんだけどw
0137デフォルトの名無しさん
垢版 |
2021/10/12(火) 23:50:54.06ID:FcrICImt
とうとう変なゲスの勘繰りまで始めた…w
いや、読めんよ、これはw本当にw
もしかして、頭がおかしいのだろうかね…
0138デフォルトの名無しさん
垢版 |
2021/10/12(火) 23:53:59.72ID:h64P2lE5
>>137
「ゲスの勘ぐり」wwww
散々してる、お前が言うなーーーーーーーwwwww
すげえなあ

ちゃんと理由書いてるからな、最初のは
後のは特定w有名人に似すすぎてな、その自己完結して他の人の指摘を聞き入れない頑固さ自己防衛意識wだけなのは
0140デフォルトの名無しさん
垢版 |
2021/10/12(火) 23:57:17.44ID:FcrICImt
さすがにID:h64P2lE5みたいなのと会話するのはちょっと神ならぬ我が身では無理、
だな。
犬に噛まれたと思って諦めるよ
0141デフォルトの名無しさん
垢版 |
2021/10/12(火) 23:58:27.76ID:h64P2lE5
>>139
すげえよww(マジ似すぎwwww)
俺に対して「こうじゃないか」とお前は散々言っているんだがな、根拠全くなく(=外れてるから)
いや、お前のは「こうだ」と決めつけてるけどな。俺はお伺いしてるんだから謙虚wwだろう?w
0143デフォルトの名無しさん
垢版 |
2021/10/13(水) 00:02:02.99ID:2M6ScVbl
YESかNOで済む話なのに、何で答えるのに拘るのか
別にNOでもそれ以上突っ込むことは無いのに
まあ、なんかわけわからんプライドからだったりするんだろうな
NOすら貰えなくて残念だったわ
じゃあ、また会おうw
0144デフォルトの名無しさん
垢版 |
2021/10/13(水) 01:33:02.11ID:D0IOdnVZ
>>135
> 俺だけじゃないらしいぞお前のそういう評価はw

なにいうてんねん、イキりをイジりはじめたんはワイのが先やろ?w
前スレ>>984もワイやし、前スレ>>897からの付き合いや!

て、あれ?
もう終わったん?
0147デフォルトの名無しさん
垢版 |
2021/10/13(水) 05:40:01.42ID:DA35qh3D
>>144
>なにいうてんねん、イキりをイジりはじめたんはワイのが先やろ?w
w 先かもしれないなあ、いや先だろな
別に俺が言い始めたとは言ってないから勘弁してくれw

>前スレ>>984もワイやし
あ...>>989 の間違いだった(趣旨がトンチンカンの>>982のに「まあ、これなんだよね(笑)」と同意してる)
誠にすまんことです
繰り返したぶん、 ID:FcrICImt にもすまん
0149デフォルトの名無しさん
垢版 |
2021/10/13(水) 05:53:56.92ID:DA35qh3D
>>147,144
>あ...>>989 の間違いだった(趣旨がトンチンカンの>>982のに「まあ、これなんだよね(笑)」と同意してる)
>誠にすまんことです
>繰り返したぶん、 ID:FcrICImt にもすまん
あ...>>12,136 で間違ってるのかと思った。間違ってないな、勘違いだった、どうかここは無かったことに

>前スレ>>984もワイやし
あくまでも「なにいうてんねん、イキりをイジりはじめたんはワイのが先やろ?w」の拘りかっw勘弁してくれ、そのノリは一瞥にはわからんw
0150デフォルトの名無しさん
垢版 |
2021/10/13(水) 10:39:03.69ID:QRtQ0cE0
レスバ乙。
最後に俺がまとめてやんよ。
終了ステータス0を真と見なすのはifコマンドの仕様です。
これでスッキリするな。
0153デフォルトの名無しさん
垢版 |
2021/10/13(水) 11:05:00.12ID:V99uCirA
まだやってたのか

>シェルスクリプトだけじゃなくてC言語も成功は0を返さないとだめだって言ってんだろ

仕様書嫁
0154デフォルトの名無しさん
垢版 |
2021/10/13(水) 11:07:10.05ID:V99uCirA
>>10
判ってる人間は「負論理」で済むはずなんだよな
結局「仕様書嫁」としか言い様が無い
1が真でも
0が真でも
どっちでも良いんだよ
0155デフォルトの名無しさん
垢版 |
2021/10/13(水) 11:09:43.80ID:V99uCirA
>>11 は馬鹿確定
0156デフォルトの名無しさん
垢版 |
2021/10/13(水) 11:13:26.44ID:V99uCirA
>>12
Windows API は Boolean を返す関数が 0/1 以外に負の数を返したり普通にあるからな
0157デフォルトの名無しさん
垢版 |
2021/10/13(水) 11:18:51.98ID:2R4gu/cR
どっちもどっち
ここまでコミュ力低いやつらはリアルで見たことないわ
運がいいのかこいつらがよほど特殊なのか
0158デフォルトの名無しさん
垢版 |
2021/10/13(水) 12:41:04.06ID:D0IOdnVZ
>>150
それやと、また真偽バカを召喚しちゃうやろ!w

if節の終了ステータスが0のときにthen節を、そうでないときにelse節を実行する、と実際の挙動のみをいえばよい。
0159デフォルトの名無しさん
垢版 |
2021/10/13(水) 12:48:29.67ID:D0IOdnVZ
>>154
正論理負論理は、2値の場合に使う考えかた。
整数についてはふつう言わない。

知ってる理屈をほかにムリヤリ適用すな!
0163デフォルトの名無しさん
垢版 |
2021/10/13(水) 14:52:00.13ID:D0IOdnVZ
>>161
知らんがな。関係あらへん。w

まあ、分岐の話をするんなら、CPUからやな。
ゼロフラグとキャリーフラグで3分岐できるもんやし。
0164デフォルトの名無しさん
垢版 |
2021/10/13(水) 14:54:53.19ID:D0IOdnVZ
>>162
理解力ないんか。。。

中盤以降は、そういうAPIはないやろ。
タイプセーフも強まっていったから、昔の挙げ足はええやろ、というとるんや。
0167デフォルトの名無しさん
垢版 |
2021/10/16(土) 21:47:00.16ID:D7GMWgGE
シェルスクリプト使いにとってキモいは褒め言葉。
つか何でposixに終了ステータス0はtrue、1はfalseって書いてあんのに揉めてるの?
0168デフォルトの名無しさん
垢版 |
2021/10/17(日) 00:10:56.78ID:/rMY6gHo
>>167
どこに書いてあるかを言わないからだろ
お前が揉める原因なんだよ
いい加減嘘ついてあらすのはやめろ
0169デフォルトの名無しさん
垢版 |
2021/10/17(日) 06:17:14.04ID:evqBS6BP
>>168
ggrks
0171デフォルトの名無しさん
垢版 |
2021/10/17(日) 06:29:47.67ID:y+jMo+pm
>>168
終了ステータスは、
trueは0、falseは1は正しいが
0はtrue、1はfalseは正しくない
というのがわからない残念な人なんだろう
0172デフォルトの名無しさん
垢版 |
2021/10/17(日) 06:33:21.39ID:8eKBj5MQ
このようにどこに書いてあるのかを言えという
当たり前の質問にも答えられないわけですよ(笑)
0174デフォルトの名無しさん
垢版 |
2021/10/17(日) 07:02:09.17ID:evqBS6BP
>>171
えと、本気で理解できないんだが詳しく教えてもらえないでしょうか。
0177デフォルトの名無しさん
垢版 |
2021/10/17(日) 11:07:01.52ID:DWmfIprR
いや、>>171はたしかにおかしいな。w
反対や。

0はtrue、1はfalse(と評価されること)は正しいが、
trueは0、falseは1(の値をあらわすこと)は正しくない。
0178デフォルトの名無しさん
垢版 |
2021/10/17(日) 12:11:19.76ID:evqBS6BP
>>175
どこにってのは、どの項目かよく見ろと暗に示してるのかな?
sh
https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/utilities/sh.html
EXIT STATUS
The following exit values shall be returned:
0
The script to be executed consisted solely of zero or more blank lines or comments, or both.
1-125
A non-interactive shell detected an error other than command_file not found or executable, including but not limited to syntax, redirection, or variable assignment errors.
126
A specified command_file could not be executed due to an [ENOEXEC] error (see Command Search and Execution, item 2).
127
A specified command_file could not be found by a non-interactive shell.

test
https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/utilities/test.html
EXIT STATUS
The following exit values shall be returned:
0
expression evaluated to true.
1
expression evaluated to false or expression was missing.
>1
An error occurred.

>>177
理解しました。
0179デフォルトの名無しさん
垢版 |
2021/10/17(日) 13:22:52.78ID:4nH2b59z
>>178
testコマンドの部分は
引数で渡された式が真ならtestコマンドは0を返す(以下略
と書いてあるだけじゃん
真というのはtestコマンドのテスト式内の話
0180デフォルトの名無しさん
垢版 |
2021/10/17(日) 14:36:53.55ID:7C23oe5i
>>171
>trueは0、falseは1は正しい
>0はtrue、1はfalseは正しくない

ここだけ読むとイミフ
0181デフォルトの名無しさん
垢版 |
2021/10/17(日) 14:38:28.76ID:7C23oe5i
>>171
>>177
どちらも可笑しい
仕様書に描いてあることが正しいのであって
おまえの意見はどうでもいい
0182デフォルトの名無しさん
垢版 |
2021/10/17(日) 14:50:31.56ID:VtgDJrjp
>>177
ture/false コマンドに(Exit Status) 0 および1を返すと書いてある
testコマンドに評価としてtrueとは書いてあるが、それは評価としてでその値が1なのか0なのかというのではないという理解だけど
POSIXに書いてあるという話なら
0183デフォルトの名無しさん
垢版 |
2021/10/17(日) 15:28:23.08ID:N+Nl+RmC
ぱっと流れを見てきただけだが、
[]/test コマンドの評価が真で0を返すってところからはじまって、
他のコマンドの返り値もこれにならって処理成功で0を返すようになったというだけじゃないの?
これをもって終了ステータス0が真を意味するってわけじゃないよねぇ

日本語と英語で、否定文に対する同意にyes/noが反対になるのと似てると思う
前者は否定文それ自体、後者は事象全体について、それぞれ評価してるよね
0184デフォルトの名無しさん
垢版 |
2021/10/17(日) 15:57:56.52ID:VtgDJrjp
>>177
trueコマンドのExit Statusは0、falseコマンドのExit Statusは1
評価した結果trueならExit Statusは0、falseならExit Statusは1
てことででの、trueは0、falseは1 (のExit Status) になるでしょ??

testコマンド(など)で書いてるtrueは一般的な文上でのtrue(例えばtest条件に一致する=真)と読んでるけどなあ

って、よく読んだら同じこと言ってるのか。シェル内部(?)の部分の話かそれ>>177
Exit Status が 0だったらtrue、1だったらfalse と評価されることは正しいが
(ここはわかる)
trueは0、falseは1(の値をあらわすこと)は正しくない
(言いたいことはなんとなくわかるしだったら否定はしないが、うーむ)

>>171は、
>終了ステータスは、
から始まってるとおり(上にも書いたけど)、
trueは0、falseは1は正しいが (そういうExit Statusになる)
だからといって、
シェルスクリプト上で 0はtrue、1はfalse(と見なすのは)正しくない
てこと。下は「trueは0、falseは1(の値をあらわすこと)は正しくない」と同じ意味だわな
0185デフォルトの名無しさん
垢版 |
2021/10/17(日) 16:08:04.69ID:VtgDJrjp
>>183
>[]/test コマンドの評価が真で0を返すってところからはじまって、
>他のコマンドの返り値もこれにならって処理成功で0を返すようになったというだけじゃないの?
Unixで動くプログラムはExit Statusが問題なければ 0、問題あればそれ以外というとこからはじまってかな。testコマンドもそれに合わせてのような
Unixを作る上でのOSのUnixとしてのExit Statusとはどういうものかというのは最も先に考えるだろうから、そこからはじまってかな
0187デフォルトの名無しさん
垢版 |
2021/10/17(日) 16:36:48.76ID:VtgDJrjp
8ビットいっぱいでの値(=unsigned char)となってるね、POSIXでは
int main( ... ) だから、失敗なんぞで -1 をreturn できる(エラーにはならない)が、255になったりするねえ
0188デフォルトの名無しさん
垢版 |
2021/10/17(日) 16:50:37.61ID:8eKBj5MQ
ん?まさか、trueコマンドとfalseコマンドを
真偽値のtrue/falseのことだって勘違いしてる?
いやそんなアホはいないよねw

終了ステータスは数値であって
true/falseじゃないよ
はっきりした
0189デフォルトの名無しさん
垢版 |
2021/10/17(日) 16:59:10.58ID:VtgDJrjp
ただの独りよがり、マウントだけは取りたがり
まあわかったようなのでいいけど
0190デフォルトの名無しさん
垢版 |
2021/10/17(日) 17:35:18.24ID:8eKBj5MQ
>>183
終了ステータスは昔から0が正常終了、それ以外が異常終了という意味
シェルスクリプトのifは正常終了の場合にthenの中身を実行する

それだけの話なのに真とか偽とか、trueとかfalseとか
言ってるやつがいるだけ

trueコマンドは正常終了を返す
fasleコマンドは異常終了を返す
ifは正常終了か異常終了かで処理を分岐させるもので
真か偽かで処理を分岐させるものではない
0191デフォルトの名無しさん
垢版 |
2021/10/17(日) 17:37:48.32ID:VtgDJrjp
なにか必死感
>>175なんて平気で偉そうに自分で調べる探すことはできないくせに
まあこれ以上イジルのは止めようw
0193デフォルトの名無しさん
垢版 |
2021/10/17(日) 17:48:01.87ID:VtgDJrjp
誰とは言わんがw某君は自分で調べることも探すこともできないは明らかだが、
そこからくる無知がコンプレックスからなんだろうなその常時上から目線すぐに誤魔化す癖なのは
と思われるw
0194デフォルトの名無しさん
垢版 |
2021/10/17(日) 19:16:51.89ID:evqBS6BP
>>190
例えばカーニハン、ロブパイク共著のTHE UNIX PROGRAMMING ENVIRONMENT のp140のif構文の説明には
if command
then
commands if condition true
else
command if condition false
do
と書かれている。P145のwhile untilの説明にもtrueとfalseが使われている。
あなたの言いたい事は分かる、というかみんなわかってる。ただ、昔からの習慣をぶった切って何が得なのか分からない。
0195デフォルトの名無しさん
垢版 |
2021/10/17(日) 19:34:34.14ID:8eKBj5MQ
「条件が真」というのは真偽値とは別の話だよ
条件とセットになってないといけない

何が真かどうかは条件文つまりコマンドによって変わる
値だけをみて真かどうかなんてわからない
0196デフォルトの名無しさん
垢版 |
2021/10/17(日) 19:37:39.52ID:8eKBj5MQ
例えばexprという条件文は、1(0以外)が真で、0が偽
testという条件文は、文字列の長さがあれば真で、空文字なら偽
だからtestの場合は0も1も真だし、testの演算子を使えば、それに応じて結果も変わる
どの値が真か偽かなんてわからない
少なくともexprでは0は偽
0197デフォルトの名無しさん
垢版 |
2021/10/17(日) 21:21:40.04ID:evqBS6BP
>>195-196
つまりスクリプトの文脈や使うコマンドに依存するって事ですよね。それは誰でも知っている。
全てに共通では無いからと言ってif文の話の時ですらtrue falseと言う言い方、表現を認めないと言うのはそれこそ文脈無視。何でそこまでtrue falseを否定するの?
0200デフォルトの名無しさん
垢版 |
2021/10/17(日) 22:53:52.24ID:RKnKEp2y
>ifは正常終了か異常終了かで処理を分岐させるもので
>真か偽かで処理を分岐させるものではない

そこが普通のプログラミング言語と違うから
混乱することあるよねって話だったんじゃ?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況