[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 01/03 20:17 / Filesize : 272 KB / Number-of Response : 1018
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

シェルスクリプト総合 その31



1 名前:デフォルトの名無しさん mailto:sage [2019/08/10(土) 23:17:50.64 ID:L+B8OP2P.net]
シェルスクリプトに関する総合スレッドです。

全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。

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

976 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 23:17:19.52 ID:TUsRGFSK.net]
>>962
true/falseがビルトインじゃないシェルは存在しない
また、[ の結果はtrueなら0、falseなら1と決まっている

977 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 06:21:32 ID:0I+FrAtF.net]
>>963
> true/falseがビルトインじゃないシェルは存在しない
今ならそう言えるだろうが、かつては存在した
外部コマンドのtrue/falseがその名残りだ

> また、[ の結果はtrueなら0、falseなら1と決まっている
0は数値の0であってtrueではない
trueを表現するのに0を使っているだけだ

まあ真偽値を扱うならtrue/falseを使えってことだな

978 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 09:53:59.01 ID:Q5pTtErv.net]
trueを表現するのに0を使っているというより、真偽に成功不成功をそのまま使ってるというだけだろ

979 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 10:32:17.69 ID:a0V3mxKP.net]
>>964
> 今ならそう言えるだろうが、かつては存在した
かつてとはいつで、どこの実装であるのか答えなさい

また、現存しない物の話をしても意味はない
そもそも [ が存在しない環境では使えない
外部コマンドの [ がその名残りだ

980 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 10:33:01.78 ID:swDBEFOl.net]
成功/不成功は終了ステータスであって真偽値ではない

981 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 10:37:22.98 ID:3fttRo5u.net]
え、まさか、
hoge && FLAG=$TRUE || FLAG=$FALSE
 :
 :
if [ "$FLAG" -eq "$TRUE" ] then ・・・
if [ "$FLAG" -eq "$FALSE" ] then ・・・

とか書くつもり・・・?

982 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 10:56:36.80 ID:0I+FrAtF.net]
>>968
終了ステータスを真偽値で判断するのか
珍しいやつだなw

983 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 11:14:58.17 ID:3fttRo5u.net]
>>969
変数に真偽値を入れるって話で
終了ステータスを入れる馬鹿を皮肉ってるだけだろw

984 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 11:16:54.58 ID:Q5pTtErv.net]
while true
do
や、
FLAG=true
or
FLAG=false
if $FLAG; then

真偽に成功不成功をそのままは、なんて書きたかっただけだろ、そうの方が見た目がいいしな
なんでそんなに拘っているんだか



985 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 11:21:27.44 ID:3fttRo5u.net]
つーか、いいかげんにしろよ。
真偽値の値を何にするかって話だろ
誰も真偽値をどうやって生成するかの話なんかしてねーよ

986 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 11:22:36.82 ID:3fttRo5u.net]
いつものやつ言っとくわ

>>971
  /\___/\
/ /    ヽ ::: \
| (●), 、(●)、 |    / ̄ ̄ ̄ ̄ ̄ ̄ ̄
|  ,,ノ(、_, )ヽ、,,   |  < まーたはじまった
|   ,;‐=‐ヽ   .:::::|    \_______
\  `ニニ´  .:::/
/`ー‐--‐‐―´´\

987 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 11:23:54.27 ID:Q5pTtErv.net]
FLAG=true or false
FLAG=1 or 0
etc
なんでも好きにすればいいだろ
true/falseコマンドを使った方が見た目簡潔じゃないかと思うがな、個人的に。使わんけど
お前がいいかげんにしろよw

988 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 11:29:02.54 ID:3fttRo5u.net]
質問が出てる時点で、意図がわからないコードってことなんだがw

957 名前:デフォルトの名無しさん[sage] 投稿日:2019/10/24(木) 17:49:17.77 ID:mthfJT/n [2/3]
>>954
それってTRUE=0とするのと何が違うの?


それに>>954ののコードは、set -eで正しく動かない
TRUE=$([ 0 = 0 ];echo $?)
FALSE=$([ ! $TRUE ];echo $?)

意図が不明確なコードを書いて、バグを入れるのは
アホでしか無いよ

989 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 11:32:55.31 ID:Q5pTtErv.net]
俺は他alias使ったのやのその話題は、なにをわざわざ凝ったことしようとしてるのか意図不明で趣味なんだろなとしか思ってない

990 名前:デフォルトの名無しさん [2019/10/26(土) 11:33:38.63 ID:T/HAOzs9.net]
やっぱりどこでも動くシェルスクリプトなんて幻想なんだね…

991 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 11:34:25.41 ID:3fttRo5u.net]
>>976
趣味(実用的ではないネタコード)に、正当っぽい理由をつけるなって話だ

992 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 11:36:44.02 ID:Q5pTtErv.net]
ただの雑談だろ
あれを強制するなりしているわけでもないのに、なにをそう否定してんだか
そんなヤツがリアルで一緒に仕事するなら思いっきりくそ叩くがなw

993 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 11:37:51.16 ID:3fttRo5u.net]
あとC言語の世界しか知らんようだから言っておくと、rubyは0も1もtrueな
シェルスクリプトは反対で0がtrueで1がfalseなんだ、それ以外の回答はない!ってのは
ちょっと考えが浅いんじゃないですかねぇw

osishow3.hateblo.jp/entry/2017/04/20/235500
nil is false
false is false
0 is true
1 is true

994 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 11:39:18.03 ID:Q5pTtErv.net]
何をひとりで妄想に走っているんだか
だれか「いいかげんにしろ」とか言ってなかったか?w



995 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 11:42:23.29 ID:3fttRo5u.net]
俺に突っかかってきてないで、シェルスクリプトの話題をしたら?

996 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 11:43:40.40 ID:Q5pTtErv.net]
よくいうよw

997 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 11:47:29.21 ID:3fttRo5u.net]
そりゃいうだろ、いきなりシェルスクリプトと関係ない
「俺」の話を始めるんだからw

998 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 11:50:09.04 ID:Q5pTtErv.net]
言ったことに対してはそりゃ言うだろう。お前がわざわざ言ったんだから
そんなのが無くてもいいのに。お前だった元々のやつを「アホ」呼ばわりしてるじゃん

999 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 15:54:12.94 ID:0I+FrAtF.net]
>>975

set +e
TRUE=$([ 0 = 0 ];echo $?)
FALSE=$([ ! $TRUE ];echo $?)
set -e

動かんと言ってる方がアホだと思う

1000 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 16:04:47.31 ID:+M+pJ73c.net]
set -eで正しく動かない

set +eと書いて動くと主張。赤っ恥w

1001 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 16:15:33.38 ID:0I+FrAtF.net]
逃げ方がチョン臭くてキモい

1002 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 16:17:36.78 ID:+M+pJ73c.net]
しかも、最初の状態が set +e だったら
set -e に状態が変わってしまうというクソコード
汎用性がない

1003 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 16:20:27.41 ID:+M+pJ73c.net]
true / false を使えばいいのに、[ が入ってない環境を考慮せずに、
true / false が入ってないかもしれないから [ を使ったと言う無能ぶりw

1004 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 16:22:55.60 ID:0I+FrAtF.net]
最初にset -eするとルール化するだけ
いちゃもんつけるの得意だな



1005 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 16:24:16.70 ID:0I+FrAtF.net]
[]やtestが使えないシェル教えてくれよ

1006 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 16:25:06.04 ID:+M+pJ73c.net]
TRUEの反対だからfalseというが、
FALSEの反対もfalseになってると気づいてなくて
そもそもシェルスクリプトの仕様をわかってないw

[ 0 = 0 ]; echo $? # => 0
[ ! 0 ]; echo $? # => 1
[ ! 1 ]; echo $? # => 1

1007 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 16:27:23.30 ID:+M+pJ73c.net]
>>992
上の方で /bin/true, /bin/false コマンドがあるんだから
true, false が使えないシェルがあるはずだって主張していたぞw
その理屈で言えば [ コマンドもあるんだから、 [ が使えないシェルもあるってことになるんだがなw

1008 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 16:28:56.67 ID:+M+pJ73c.net]
更に言うなら

TRUE=$([ 0 = 0 ];echo $?)
FALSE=$([ ! $TRUE ];echo $?)

これにサブシェルを使うのもアホらしいw

1009 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 16:29:21.39 ID:0I+FrAtF.net]
>>994
cshのbuiltin調べてこい
分かったらすいませんって言えよw

1010 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 16:29:57.11 ID:+M+pJ73c.net]
>>1みろ

 csh/tcshでのシェルスクリプトは*まったく推奨しません*。

1011 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 16:30:08.87 ID:0I+FrAtF.net]
あーいつものマウントとらないと死ぬ病気のやつか

おだいじに

1012 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 16:30:30.62 ID:+M+pJ73c.net]
>>1じゃなくて>>2だったな

> ・特記なき場合、POSIX 準拠の sh 可換シェルが既定です。(Bourne Shellは既にレガシーです)

1013 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 16:30:49.43 ID:+M+pJ73c.net]
>>998
マウント取られて可愛そうwww

1014 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 76日 17時間 12分 59秒



1015 名前:1002 [Over 1000 Thread.net]
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログイン

1016 名前:はこちら ▼
https://login.5ch.net/login.php
[]
[ここ壊れてます]

1017 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<272KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef