シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
前スレ: シェルスクリプト総合 その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
レス数が950を超えています。1000を超えると書き込みができなくなります。
2021/02/25(木) 09:20:14.64ID:ZyJLXTlk
884デフォルトの名無しさん
2021/09/19(日) 10:51:23.48ID:xR+u8nco 技術的に無能だが一般常識にも無能なのはたまに居るな
885デフォルトの名無しさん
2021/09/19(日) 10:54:58.61ID:ZpH8FzBH シェルショッカーとリッチー大佐のお二人ですなw
886デフォルトの名無しさん
2021/09/21(火) 03:27:47.67ID:brXTSPi5 あと Ruby の基地外な
rubikitch のことじゃないよ
rubikitch のことじゃないよ
887デフォルトの名無しさん
2021/09/22(水) 14:28:08.32ID:Te29kBsr ニュースグループならクロスポストってのが出来たんだけどな
888デフォルトの名無しさん
2021/09/22(水) 14:42:56.06ID:RtQe+ZM1889デフォルトの名無しさん
2021/10/02(土) 09:12:44.17ID:AShvd7nN bash sample1.sh && sample2.sh
でsample.shがexitとかfalse的な感じだったらsample2.shは実行しない
という処理をするにはどうしたらいいのでしょうか・・?
でsample.shがexitとかfalse的な感じだったらsample2.shは実行しない
という処理をするにはどうしたらいいのでしょうか・・?
890デフォルトの名無しさん
2021/10/02(土) 09:30:28.85ID:AShvd7nN 補足です >>889
そもそもやりたいことはsample2.shの冒頭に
if 条件; then
echo "o"
fi
みたいな条件式が出てくるのですが
その条件は他のsample3.shでもsample4.shでも重複して出てくるので
分けたいなと思いました
そういう書き方があるのかな、と
そもそもやりたいことはsample2.shの冒頭に
if 条件; then
echo "o"
fi
みたいな条件式が出てくるのですが
その条件は他のsample3.shでもsample4.shでも重複して出てくるので
分けたいなと思いました
そういう書き方があるのかな、と
891デフォルトの名無しさん
2021/10/02(土) 11:10:29.57ID:AShvd7nN とりあえず自己解決?しました
外部読み込みで関数引き出すことにしました
しかしなぜか
if 関数1; then
echo "o"
else
echo "x"
fi
関数1の返り値が0のとき"o"、1のとき"x"となり
思ってたのと逆になりました
関数1 () {
return 0
}
外部読み込みで関数引き出すことにしました
しかしなぜか
if 関数1; then
echo "o"
else
echo "x"
fi
関数1の返り値が0のとき"o"、1のとき"x"となり
思ってたのと逆になりました
関数1 () {
return 0
}
892デフォルトの名無しさん
2021/10/02(土) 11:42:50.26ID:rSA8/7/e プロセスの終了ステータスと同じ思想
0を返すなら正常
0以外を返すなら異常
0を返すなら正常
0以外を返すなら異常
893デフォルトの名無しさん
2021/10/02(土) 12:39:57.86ID:AShvd7nN894デフォルトの名無しさん
2021/10/02(土) 14:45:07.98ID:lWVjrMOX >>891
逆ではない。それで良いのだ。
成功したら0を返すというUNIX等での昔からの慣習に従っているだけ。
if は動かしたコマンドや関数の終了ステータスが0なら成功したと認識して then の後を実行しようとするように作られている。
逆ではない。それで良いのだ。
成功したら0を返すというUNIX等での昔からの慣習に従っているだけ。
if は動かしたコマンドや関数の終了ステータスが0なら成功したと認識して then の後を実行しようとするように作られている。
895デフォルトの名無しさん
2021/10/02(土) 14:47:33.71ID:lWVjrMOX ってリロード忘れて書いたら既に答えが書かれて話が終わっていたorz
896デフォルトの名無しさん
2021/10/02(土) 15:12:31.16ID:HPoADLry897デフォルトの名無しさん
2021/10/02(土) 15:39:19.39ID:yaQQxYBO シェルスクリプト内で return true とか書ければいいんだが。
引数なしの return はその直前のコマンドの戻り値を戻すので
true ; return
とか
return $(true)
って感じか?
引数なしの return はその直前のコマンドの戻り値を戻すので
true ; return
とか
return $(true)
って感じか?
898デフォルトの名無しさん
2021/10/02(土) 15:52:06.48ID:yaQQxYBO true=0 ; false=1 って定義しておいて return $true もあるか
899デフォルトの名無しさん
2021/10/02(土) 16:16:47.40ID:qz0ghb/n900デフォルトの名無しさん
2021/10/02(土) 16:38:14.15ID:HPoADLry901デフォルトの名無しさん
2021/10/02(土) 17:40:54.85ID:yaQQxYBO >>900
(実装上は?ではあるが)C言語で言う \0 や NULL は必ずしもゼロではないから
ハードコーティングするな、みたいな話と同じでは?
C言語で EXIT_SUCCESS がマクロ定義されているのと同じでは?
あとシェルスクリプトで EXIT_SUCCESS って定義されてる?
(実装上は?ではあるが)C言語で言う \0 や NULL は必ずしもゼロではないから
ハードコーティングするな、みたいな話と同じでは?
C言語で EXIT_SUCCESS がマクロ定義されているのと同じでは?
あとシェルスクリプトで EXIT_SUCCESS って定義されてる?
902デフォルトの名無しさん
2021/10/02(土) 18:23:30.06ID:R5KX+nmU >>896
0はfalsy, 1はtruthy
0はfalsy, 1はtruthy
903デフォルトの名無しさん
2021/10/02(土) 18:40:53.09ID:A8TEcsRS904デフォルトの名無しさん
2021/10/02(土) 18:54:39.94ID:a5sjMDOS >>901
\0はゼロだよねぇ?
\0はゼロだよねぇ?
905デフォルトの名無しさん
2021/10/02(土) 19:00:42.14ID:HPoADLry906デフォルトの名無しさん
2021/10/02(土) 19:08:57.75ID:HPoADLry907デフォルトの名無しさん
2021/10/02(土) 23:25:16.60ID:yaQQxYBO908デフォルトの名無しさん
2021/10/02(土) 23:47:19.06ID:HPoADLry >>907
おまえが勝手に勘違いして決めつけとるだけや。w
0は「TRUE」をあらわすのではない。
ただの「0」や。
シェルとかでは一般的に、0を成功と見なすことにしとるだけ。
プログラムによってはあえて、1なら成功半分失敗半分、2なら超失敗、みたいにしてもええ。
おまえが勝手に勘違いして決めつけとるだけや。w
0は「TRUE」をあらわすのではない。
ただの「0」や。
シェルとかでは一般的に、0を成功と見なすことにしとるだけ。
プログラムによってはあえて、1なら成功半分失敗半分、2なら超失敗、みたいにしてもええ。
909デフォルトの名無しさん
2021/10/03(日) 01:12:15.52ID:xAO5mPIE910デフォルトの名無しさん
2021/10/03(日) 01:52:00.50ID:prztZm/y911デフォルトの名無しさん
2021/10/03(日) 21:33:19.87ID:lRGZaQA9 Makefileのコマンド部分のインデントにタブ以外つかえないの地味にツライです
912デフォルトの名無しさん
2021/10/03(日) 23:29:34.04ID:53YOJQpZ913デフォルトの名無しさん
2021/10/04(月) 00:19:02.66ID:zDusbFKv914デフォルトの名無しさん
2021/10/04(月) 00:38:06.79ID:68bdvZVH 郷に入っては郷に従え
915デフォルトの名無しさん
2021/10/04(月) 04:16:49.89ID:hDmlyFvp >return 0 が C言語とシェルスクリプトで意味が真逆
え?
え?
916デフォルトの名無しさん
2021/10/04(月) 11:18:50.12ID:k4THeifQ main()のreturnに関してはshと一緒だが
returnに限らずifや論理演算で使うときの0/0以外は意味が真逆って話ですかね
どうするもこうするも、脳内で切り替えるしかないのでは
returnに限らずifや論理演算で使うときの0/0以外は意味が真逆って話ですかね
どうするもこうするも、脳内で切り替えるしかないのでは
917デフォルトの名無しさん
2021/10/04(月) 11:27:18.04ID:up54+LrH 言語によって切り替えるのが普通の人だ
918デフォルトの名無しさん
2021/10/04(月) 11:56:33.52ID:jGq6SyTd 動的に変数名を作ってそのまま使用するのってどうやるのでしょうか
val_a="aaa"
val_b="bbb"
ary=( "a" "b" )
for s in ${ary[@]}; do
echo ${val_$s}
done
だとbad substitutionでした
val_a="aaa"
val_b="bbb"
ary=( "a" "b" )
for s in ${ary[@]}; do
echo ${val_$s}
done
だとbad substitutionでした
919デフォルトの名無しさん
2021/10/04(月) 14:30:02.14ID:hDmlyFvp >>916
成功(0)失敗(0以外、だいたい負数もしくは-1) と 真(0以外もしくは1)偽(0) があるが、真偽しか知らないとかかな
C には main 以外にも 成功失敗 を返す関数はいっぱいある。もちろん成功失敗/真偽以外のを返すのもは言わずもがなだが。Cという言語でさえ何の関数でで切り替えなきゃ C 使えないだろうにな
シェルスクリプトは成功失敗でしかないからなwhileやifなどの基本的な制御文は
成功(0)失敗(0以外、だいたい負数もしくは-1) と 真(0以外もしくは1)偽(0) があるが、真偽しか知らないとかかな
C には main 以外にも 成功失敗 を返す関数はいっぱいある。もちろん成功失敗/真偽以外のを返すのもは言わずもがなだが。Cという言語でさえ何の関数でで切り替えなきゃ C 使えないだろうにな
シェルスクリプトは成功失敗でしかないからなwhileやifなどの基本的な制御文は
920デフォルトの名無しさん
2021/10/04(月) 14:57:35.57ID:fSDY+8CH eval echo "¥${val_${s}}"
921デフォルトの名無しさん
2021/10/04(月) 15:01:04.22ID:TUhdMDNq val="val_$s"
echo "${!val}"
echo "${!val}"
922デフォルトの名無しさん
2021/10/04(月) 15:29:45.66ID:zDusbFKv >>919
> シェルスクリプトは成功失敗でしかないからなwhileやifなどの基本的な制御文は
いや、それはCも同じや。w
条件部に任意の式を書けるだけ。
そいつは、物事をムリヤリにでも単純化したいだけやと思う。
まあ、気持ちはわからんでもない。
ワイにもそういうときはあった。
初心者かつ理想主義者ならではなんかね。
> シェルスクリプトは成功失敗でしかないからなwhileやifなどの基本的な制御文は
いや、それはCも同じや。w
条件部に任意の式を書けるだけ。
そいつは、物事をムリヤリにでも単純化したいだけやと思う。
まあ、気持ちはわからんでもない。
ワイにもそういうときはあった。
初心者かつ理想主義者ならではなんかね。
923デフォルトの名無しさん
2021/10/04(月) 16:21:38.67ID:hDmlyFvp >>922
C は 成功失敗 とかではなく、評価式の結果の値が 0かそれ以外か だけど
原典のK&Rに書いてある通り
真偽 Booleanと言えるが そもそもはBooleanが無いから 0かそれ以外か だな
シェルスクリプトはモロに成功失敗でしかないから、true「コマンド」のexit statusが 0=成功 でそれで成り立ってるんだけど
C は 成功失敗 とかではなく、評価式の結果の値が 0かそれ以外か だけど
原典のK&Rに書いてある通り
真偽 Booleanと言えるが そもそもはBooleanが無いから 0かそれ以外か だな
シェルスクリプトはモロに成功失敗でしかないから、true「コマンド」のexit statusが 0=成功 でそれで成り立ってるんだけど
924デフォルトの名無しさん
2021/10/04(月) 16:30:51.81ID:zDusbFKv925デフォルトの名無しさん
2021/10/04(月) 16:42:05.78ID:hDmlyFvp >>924
Cも知らないのに何言ってるんだかなとしか思えん
シェルスクリプトが扱うコマンドはCで書かれてもいての EXIT_SUCCESS ってあるんだけど。もちろんシェルスクリプトはその値をもベースにしてる
判定は真逆だろうに、Cと同じって何を言っているのだか
C
if( 評価式 )
判定式の結果値が 「0でなかったら」
シェルスクリプト
if コマンド; then
コマンドの EXIT STATUS が 「0だったら」
testコマンドも同じ、評価した結果が 成功か失敗 でしかない。EXIT STATUSはそういうもんだから...なんてCでなんか書いたことあるなら当然知っているだろう
Cも知らないのに何言ってるんだかなとしか思えん
シェルスクリプトが扱うコマンドはCで書かれてもいての EXIT_SUCCESS ってあるんだけど。もちろんシェルスクリプトはその値をもベースにしてる
判定は真逆だろうに、Cと同じって何を言っているのだか
C
if( 評価式 )
判定式の結果値が 「0でなかったら」
シェルスクリプト
if コマンド; then
コマンドの EXIT STATUS が 「0だったら」
testコマンドも同じ、評価した結果が 成功か失敗 でしかない。EXIT STATUSはそういうもんだから...なんてCでなんか書いたことあるなら当然知っているだろう
926デフォルトの名無しさん
2021/10/04(月) 16:47:03.61ID:jGq6SyTd927デフォルトの名無しさん
2021/10/04(月) 17:25:08.90ID:seuesddr [ ] がコマンドだって知らない人がいるのかな?
シェルスクリプトの真偽はCと同じですよ
コマンドの終了ステータスはCもシェルスクリプトも0が正常、0以外が異常
echo $((2 > 1))
1
↑の通りシェルスクリプトの真は1
シェルスクリプトの真偽はCと同じですよ
コマンドの終了ステータスはCもシェルスクリプトも0が正常、0以外が異常
echo $((2 > 1))
1
↑の通りシェルスクリプトの真は1
928デフォルトの名無しさん
2021/10/04(月) 17:32:53.14ID:68bdvZVH read()って0が正常なんだっけ?
929デフォルトの名無しさん
2021/10/04(月) 17:43:03.44ID:hDmlyFvp >>927
真(0以外もしくは1)偽(0) だけだと思うから、変なこと言い出しただけだろう
成功(0)失敗(0以外、だいたい負数もしくは-1) もあり、シェルスクリプトは 成功失敗 でしかないって話だよ
「真偽はCと同じ」とか言い出すから...w 2分岐でしかないとこのを真偽と言いたいのかな?
シェルスクリプトの制御文はEXIT STATUSしか見ないから、そんな例は無意味だろう
普通 if 文は 真/正 だったら〜でif分内に入るが、その例を持ち出してどう説明するの?
真(0以外もしくは1)偽(0) だけだと思うから、変なこと言い出しただけだろう
成功(0)失敗(0以外、だいたい負数もしくは-1) もあり、シェルスクリプトは 成功失敗 でしかないって話だよ
「真偽はCと同じ」とか言い出すから...w 2分岐でしかないとこのを真偽と言いたいのかな?
シェルスクリプトの制御文はEXIT STATUSしか見ないから、そんな例は無意味だろう
普通 if 文は 真/正 だったら〜でif分内に入るが、その例を持ち出してどう説明するの?
930デフォルトの名無しさん
2021/10/04(月) 17:57:13.20ID:zDusbFKv >>925
EXIT_SUCCESSとかはただの超後付けやぞ?w
もともとそんなもんはなかった。
条件判定は、判定が逆なだけで、やってることが同じ。
成功か失敗かではなく、値しか参照してない。
読解力がないヤツはめんどいな。。。
ま、いいけど。では、これにて。
EXIT_SUCCESSとかはただの超後付けやぞ?w
もともとそんなもんはなかった。
条件判定は、判定が逆なだけで、やってることが同じ。
成功か失敗かではなく、値しか参照してない。
読解力がないヤツはめんどいな。。。
ま、いいけど。では、これにて。
931デフォルトの名無しさん
2021/10/04(月) 18:03:18.56ID:hDmlyFvp932デフォルトの名無しさん
2021/10/04(月) 18:08:15.93ID:hDmlyFvp 成功(0)失敗(0以外、だいたい負数もしくは-1)
というのは太古から存在してるというのを、元々のやつはおろかそいつに反発(?)してるやつもどうやら知らないらしい...
何で知らないのか理解できない、Cに限らず他の言語でもあるのに
というのは太古から存在してるというのを、元々のやつはおろかそいつに反発(?)してるやつもどうやら知らないらしい...
何で知らないのか理解できない、Cに限らず他の言語でもあるのに
933デフォルトの名無しさん
2021/10/04(月) 18:16:05.28ID:hDmlyFvp >>931
誤 >>927の最初に
正 >>919の最初に
失礼
と、わかりやすそうなの探してきたぞ,
https://en.wikipedia.org/wiki/Exit_status
をよく読んでみ
誤 >>927の最初に
正 >>919の最初に
失礼
と、わかりやすそうなの探してきたぞ,
https://en.wikipedia.org/wiki/Exit_status
をよく読んでみ
934デフォルトの名無しさん
2021/10/04(月) 19:13:01.03ID:seuesddr >>929
何がいいたいのかさっぱり
if [ $bool = 1 ]; then
で真だったらって書けるやろ
分かりづらいって言うなら
TRUE=1
if [ $bool = $TRUE ]; then
でもいいし
何がいいたいのかさっぱり
if [ $bool = 1 ]; then
で真だったらって書けるやろ
分かりづらいって言うなら
TRUE=1
if [ $bool = $TRUE ]; then
でもいいし
935デフォルトの名無しさん
2021/10/04(月) 19:20:57.93ID:hDmlyFvp >>934
>[ ] がコマンドだって知らない人がいるのかな?
と言い出したのに...本当に自分ではわかってるのか疑わしいぞ
if文=シェルスクリプトが判断してるのは その評価式=ではなく評価式を評価したtestコマンドの EXIT STATUS = 成功失敗 でしかないって
本当にわからない人だなあ
Booleanなのに true とか 1 と比較するのはどうなの、というのは個人の好みだが、こうも書ける。関係ないけど
bool=true or fasle
if $bool; then
...
よりシェルスクリプト基本に添ってると思うけどなw そのある意味オレオレよりは
>[ ] がコマンドだって知らない人がいるのかな?
と言い出したのに...本当に自分ではわかってるのか疑わしいぞ
if文=シェルスクリプトが判断してるのは その評価式=ではなく評価式を評価したtestコマンドの EXIT STATUS = 成功失敗 でしかないって
本当にわからない人だなあ
Booleanなのに true とか 1 と比較するのはどうなの、というのは個人の好みだが、こうも書ける。関係ないけど
bool=true or fasle
if $bool; then
...
よりシェルスクリプト基本に添ってると思うけどなw そのある意味オレオレよりは
936デフォルトの名無しさん
2021/10/04(月) 19:34:13.89ID:hDmlyFvp >シェルスクリプトが判断してるのは
シェル(シェルスクリプトインタープリター)が判断してるのかか
なんかあったw K&R 初版にすでに
The program also uses the standard library function exit, which ter-minates program execution when it is called. The argument of exit is available to whatever process called this one, so the success or failure of the program can be tested by another program that uses this one as a sub, process.
By convention, a return value of 0 signals that all is well, and vari-ous non-zero values signal abnormal situations.
って書いてある
Cが何のために作られたか、シェルスクリプトも何のために作られたか、それぐらいわかってはいるだろうから、この短文だけで「読める」だろう(自分勝手な理解を置いておけば)と思いたい
シェル(シェルスクリプトインタープリター)が判断してるのかか
なんかあったw K&R 初版にすでに
The program also uses the standard library function exit, which ter-minates program execution when it is called. The argument of exit is available to whatever process called this one, so the success or failure of the program can be tested by another program that uses this one as a sub, process.
By convention, a return value of 0 signals that all is well, and vari-ous non-zero values signal abnormal situations.
って書いてある
Cが何のために作られたか、シェルスクリプトも何のために作られたか、それぐらいわかってはいるだろうから、この短文だけで「読める」だろう(自分勝手な理解を置いておけば)と思いたい
937デフォルトの名無しさん
2021/10/04(月) 19:49:22.53ID:seuesddr938デフォルトの名無しさん
2021/10/04(月) 19:50:42.83ID:seuesddr > Booleanなのに true とか 1 と比較するのはどうなの、というのは個人の好みだが、
シェルスクリプトが真で1を返してるんだからしょうがない
echo $((2 > 1))
1
FALSE=0で0以外だったら?と書いてもいいけどな
シェルスクリプトが真で1を返してるんだからしょうがない
echo $((2 > 1))
1
FALSE=0で0以外だったら?と書いてもいいけどな
939デフォルトの名無しさん
2021/10/04(月) 20:02:21.71ID:hDmlyFvp >>937,938
話にならんな
だからコマンドの(評価式の)判断はシェルスクリプトのifなどの制御文と関係ないって言ってるだろうに
>シェルスクリプトが真で1を返してる
今だに、全然わかってないのが明らかだな
>[ ] がコマンドだって知らない人がいるのかな?
って、自分で言ってるのに、本当はわかってないんだな
わかってないのにこう言った意味意図がわからん
話にならんな
だからコマンドの(評価式の)判断はシェルスクリプトのifなどの制御文と関係ないって言ってるだろうに
>シェルスクリプトが真で1を返してる
今だに、全然わかってないのが明らかだな
>[ ] がコマンドだって知らない人がいるのかな?
って、自分で言ってるのに、本当はわかってないんだな
わかってないのにこう言った意味意図がわからん
940デフォルトの名無しさん
2021/10/04(月) 20:16:18.32ID:seuesddr わかってないわかってない言うだけで
何も指摘してないなこいつw
何も指摘してないなこいつw
941デフォルトの名無しさん
2021/10/04(月) 20:18:16.08ID:hDmlyFvp 指摘してるのが読めないのな
いや読まない認めないだけか
いや読まない認めないだけか
942デフォルトの名無しさん
2021/10/04(月) 20:20:05.24ID:hDmlyFvp いや、手取り足取り教えてくださいかな
この意固地っぷりわからなさぶりは
元々のヤツよりよほどわかってなさげだなあ、何でそいつらの方がめんどくさいんだか
この意固地っぷりわからなさぶりは
元々のヤツよりよほどわかってなさげだなあ、何でそいつらの方がめんどくさいんだか
943デフォルトの名無しさん
2021/10/04(月) 20:25:10.55ID:seuesddr だからシェルスクリプトの真は1
if や真偽値ではなくて、終了ステータスを見る
[]はコマンド、その戻り値は終了ステータス
って言ってるだけですが?
if や真偽値ではなくて、終了ステータスを見る
[]はコマンド、その戻り値は終了ステータス
って言ってるだけですが?
944デフォルトの名無しさん
2021/10/04(月) 20:25:32.75ID:seuesddr ifは真偽値ではなくて、終了ステータスを見る
945デフォルトの名無しさん
2021/10/04(月) 20:31:27.73ID:hDmlyFvp まだ「言い張ってる」
やれやれ
単に「人に対してわかりやすい」単なる「算術結果」の「プリント」でしかないのに
結果が A/B でも構わない=制御文と「何も関係ないから」。そうでないのは単なる人に対しての場合の慣例だからだろうとわかりそうなものだが
そんなにBooleanが好きならやっぱりせっかくそのもである true/false 使えよと思わなくもない、制御文にもそのまま使えるのだし
やれやれ
単に「人に対してわかりやすい」単なる「算術結果」の「プリント」でしかないのに
結果が A/B でも構わない=制御文と「何も関係ないから」。そうでないのは単なる人に対しての場合の慣例だからだろうとわかりそうなものだが
そんなにBooleanが好きならやっぱりせっかくそのもである true/false 使えよと思わなくもない、制御文にもそのまま使えるのだし
946デフォルトの名無しさん
2021/10/04(月) 20:33:07.26ID:seuesddr 真偽値は1(0以外)と0だっているのに、trueとfalseだって勘違いしてんのかw
947デフォルトの名無しさん
2021/10/04(月) 20:38:29.57ID:hDmlyFvp はあ...
>真偽値は1(0以外)と0だっているのに
慣例およびCとかBooleanが明確にないとこはな、そんなの常識だろうに
真偽 Boolean値はある意味正式には true/false だぞ(YES/NOとかのとこもあるけどな)、それすらも知らないとか...
>真偽値は1(0以外)と0だっているのに
慣例およびCとかBooleanが明確にないとこはな、そんなの常識だろうに
真偽 Boolean値はある意味正式には true/false だぞ(YES/NOとかのとこもあるけどな)、それすらも知らないとか...
948デフォルトの名無しさん
2021/10/04(月) 20:40:08.73ID:hDmlyFvp 無知も大概にしろ、それもそんなくせに何か自分は知ってる風とか
ただただめんどくさいだけじゃん
てことで
ただただめんどくさいだけじゃん
てことで
949デフォルトの名無しさん
2021/10/04(月) 20:52:06.46ID:seuesddr > 真偽 Boolean値はある意味正式には true/false だぞ(YES/NOとかのとこもあるけどな)、それすらも知らないとか...
書いてある所持ってきてw
いっつも、何の根拠もなく
主張だけしてるよなお前
だから証拠付きつけられて負けてるんやで
書いてある所持ってきてw
いっつも、何の根拠もなく
主張だけしてるよなお前
だから証拠付きつけられて負けてるんやで
950デフォルトの名無しさん
2021/10/04(月) 20:54:23.61ID:hDmlyFvp モロ「手取り足取り教えてください」を自白w
少し調べればあるぞ、コンピュータサイエンスの常識だからな
本当に無知のくせにただただめんどくさいヤツだったとは
まあ、あとは自力で頑張れ。その使ってるナニかは自分で調べるためにもあるんだからな
少し調べればあるぞ、コンピュータサイエンスの常識だからな
本当に無知のくせにただただめんどくさいヤツだったとは
まあ、あとは自力で頑張れ。その使ってるナニかは自分で調べるためにもあるんだからな
951デフォルトの名無しさん
2021/10/04(月) 21:34:45.41ID:MQzfkP4R 終了ステータスは
(エラーが) [ 0:false:有りませんでした | 0以外:true:有りました ]
だと思ってたんだが
(エラーが) [ 0:false:有りませんでした | 0以外:true:有りました ]
だと思ってたんだが
952デフォルトの名無しさん
2021/10/04(月) 23:57:42.15ID:zDusbFKv953デフォルトの名無しさん
2021/10/05(火) 05:07:50.98ID:h//Q5yAA 終了ステータスは、真偽値じゃなくて数値だからね
127 はコマンドが見つからないとか、いろんな意味がある
127 はコマンドが見つからないとか、いろんな意味がある
954デフォルトの名無しさん
2021/10/05(火) 11:37:08.32ID:BsTkn0yK955デフォルトの名無しさん
2021/10/05(火) 15:18:38.51ID:Vzh0q/ov cみたいな新参言語と比べるなよ?
956デフォルトの名無しさん
2021/10/05(火) 15:22:23.47ID:Vzh0q/ov と思ったらcのが早いのか…
当時ナウかったalgolの影響大きすぎて錯覚する(fiとかesacとか)
当時ナウかったalgolの影響大きすぎて錯覚する(fiとかesacとか)
957デフォルトの名無しさん
2021/10/05(火) 15:28:38.07ID:k2GS0F1f algolは死んだしcを新参と笑えるバリバリ現役言語はlisp、fortran、cobolくらいでは
958デフォルトの名無しさん
2021/10/05(火) 17:09:15.80ID:dp5on/du このスレきもちわる
959デフォルトの名無しさん
2021/10/05(火) 18:12:02.21ID:33c4JJMi 病気なんじゃね?w
960デフォルトの名無しさん
2021/10/05(火) 18:52:58.49ID:JbR3YU6O 科学臭
961デフォルトの名無しさん
2021/10/05(火) 19:11:37.04ID:33c4JJMi 宗教よりはマシやろw
962デフォルトの名無しさん
2021/10/05(火) 19:50:39.12ID:RLO9CO91963デフォルトの名無しさん
2021/10/05(火) 21:10:53.59ID:33c4JJMi regexpは表現やろ?
964デフォルトの名無しさん
2021/10/05(火) 22:05:00.71ID:I9nBHPaT 忘れられがちなPL/I
965デフォルトの名無しさん
2021/10/06(水) 10:50:03.14ID:1RiK8cCJ966デフォルトの名無しさん
2021/10/06(水) 13:05:49.45ID:RFU2koBA >>963
「expression」の和訳の問題だから。
「expression」の和訳の問題だから。
967デフォルトの名無しさん
2021/10/09(土) 22:37:14.17ID:IfT7mukr 俺もUNIXプログラミング環境持ってるけど、真と偽をtrueとそれ以外(false)って感じで書いてある。シェルスクリプトで真偽と言うとこれだよな。一般的な真偽値とはまた別で。
それにifは真かそれ以外かしか見れないんだから真偽値で言う偽なんざいらねーし。
それにifは真かそれ以外かしか見れないんだから真偽値で言う偽なんざいらねーし。
968デフォルトの名無しさん
2021/10/10(日) 00:30:49.33ID:xmO2FPMa またよくわかってないやつが
969デフォルトの名無しさん
2021/10/10(日) 00:35:16.90ID:6jcVzzbi970デフォルトの名無しさん
2021/10/10(日) 12:09:43.32ID:ZbbT3pWR >>969
Unixプログラミング環境、今となっては結構レアな本だと思ってたけどみんな持ってるのか。
特に邦訳版から読んでそれ以降使い込まなかった人はシェルスクリプトの真偽はゼロかそれ以外って覚えてても不思議はないと思うな。
Unixプログラミング環境、今となっては結構レアな本だと思ってたけどみんな持ってるのか。
特に邦訳版から読んでそれ以降使い込まなかった人はシェルスクリプトの真偽はゼロかそれ以外って覚えてても不思議はないと思うな。
971デフォルトの名無しさん
2021/10/10(日) 17:16:50.58ID:Liv3MhTX 不思議もなにも、それしかないからな。
勝手に意味付けしようと思い込むヤツが勝手にややこしくできあがってるだけで。
勝手に意味付けしようと思い込むヤツが勝手にややこしくできあがってるだけで。
972デフォルトの名無しさん
2021/10/11(月) 07:02:29.47ID:0Us0xwCf 真偽じゃなくて成否なんだよ
Exit statusは
否は複数あっていい
&&や||はexit statusに関連する成否を扱う演算なんだ
どこにどう書いてあろうが、本質はそれ以外にない
「関連する」と書いたのは
$ not-exist-command || echo hello world
not-exist-command: command not found
hello world
$ not-exist-command && echo hello world
not-exist-command: command not found
$
これはexit statusじゃないから
Exit statusは
否は複数あっていい
&&や||はexit statusに関連する成否を扱う演算なんだ
どこにどう書いてあろうが、本質はそれ以外にない
「関連する」と書いたのは
$ not-exist-command || echo hello world
not-exist-command: command not found
hello world
$ not-exist-command && echo hello world
not-exist-command: command not found
$
これはexit statusじゃないから
973デフォルトの名無しさん
2021/10/11(月) 09:50:35.87ID:j+pkxrpN >>972
うーん、失敗したら真を返すプログラムも書きたいから、スクリプト側では成否と言う概念や言葉を使うより真偽の方がやりやすいんじゃないの?
うーん、失敗したら真を返すプログラムも書きたいから、スクリプト側では成否と言う概念や言葉を使うより真偽の方がやりやすいんじゃないの?
974デフォルトの名無しさん
2021/10/11(月) 17:46:38.27ID:FYumYboV >>972
いや、それもexit status。
man bash(COMMAND EXECUTION)にもはっきりそう書いてある。
プログラムとパイプライン各段、終了ステータスを出すほうと受けるほうで混乱すんなよ。
いや、それもexit status。
man bash(COMMAND EXECUTION)にもはっきりそう書いてある。
プログラムとパイプライン各段、終了ステータスを出すほうと受けるほうで混乱すんなよ。
975デフォルトの名無しさん
2021/10/11(月) 17:47:38.44ID:FYumYboV976デフォルトの名無しさん
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:qBBV2SpKレス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★4 [BFU★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性には共通点が [Hitzeschleier★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★5 [Hitzeschleier★]
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- 【高市速報】中国、最後通牒 [308389511]
- 【高市速報】中国、世界の敵になり始めるwwwwwwwwwwwwww [308389511]
- 最近のVIP人いなくね?
- おまえらHDDの廃棄ってどうしてるの?
- しね✋ーーーーー☀
- 【速報】テレビ朝日本社から20代〜30代の男性が飛び降り自殺して死亡 東京・六本木 [597533159]
