シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ:
シェルスクリプト総合 その29
https://mevius.5ch.net/test/read.cgi/tech/1537540487/
探検
シェルスクリプト総合 その30
レス数が1000を超えています。これ以上書き込みはできません。
2019/07/01(月) 23:04:27.02ID:/rKj5XUf
981デフォルトの名無しさん
2019/08/11(日) 16:52:18.97ID:lm+uP+yI bash で書くならシェバンで明示するべし
#!/usr/bin/env bash
#!/usr/bin/env bash
982デフォルトの名無しさん
2019/08/11(日) 17:03:10.35ID:k+c7cOcw 間違いはそこだよなあ。単に
#!/bin/bash
と書こうとして、うっかり
#!/bin/sh
にしてしまった感じかな
#!/bin/bash
と書こうとして、うっかり
#!/bin/sh
にしてしまった感じかな
983デフォルトの名無しさん
2019/08/11(日) 17:34:07.21ID:++HFlOfG >>979
debianはbash依存をなくすのに苦労したらしいからね。
https://wiki.ubuntu.com/DashAsBinSh
> The major reason to switch the default shell was efficiency.
デフォルトシェルを(dash)に変更する理由は効率性です。
> Programs should be written to the standard,
>and if they use extensions they should declare them;
プログラムは標準で書くべきである。拡張を使うなら宣言しなさい。
正しい言葉だ。
拡張を使う理由がないのに効率性を落とす意味ないからね。
debianはbash依存をなくすのに苦労したらしいからね。
https://wiki.ubuntu.com/DashAsBinSh
> The major reason to switch the default shell was efficiency.
デフォルトシェルを(dash)に変更する理由は効率性です。
> Programs should be written to the standard,
>and if they use extensions they should declare them;
プログラムは標準で書くべきである。拡張を使うなら宣言しなさい。
正しい言葉だ。
拡張を使う理由がないのに効率性を落とす意味ないからね。
984デフォルトの名無しさん
2019/08/11(日) 17:41:28.14ID:++HFlOfG >>980
どこでも動くために、POSIXに準拠することの大切さがわかるよね。
どこでも動くために、POSIXに準拠することの大切さがわかるよね。
985デフォルトの名無しさん
2019/08/11(日) 17:42:11.13ID:++HFlOfG986デフォルトの名無しさん
2019/08/11(日) 17:46:23.18ID:k+c7cOcw 傲慢だな。そうじゃないと今までの自分のレスが馬鹿みたいだから...
知らないのかもしれないが、/bin/sh が bash の場合、ちゃんとは動かない
てか、あっちのスレを行けよ
知らないのかもしれないが、/bin/sh が bash の場合、ちゃんとは動かない
てか、あっちのスレを行けよ
987デフォルトの名無しさん
2019/08/11(日) 17:49:05.08ID:k+c7cOcw ああ、/bin/sh が bash で、しかも、bash が 3.x の場合かもしれない
/bin/sh が bash であっても、#!/bin/sh だと>>975のスクリプトはうまく動かないのはね。なので、うっかりとしか思えんな
/bin/sh が bash であっても、#!/bin/sh だと>>975のスクリプトはうまく動かないのはね。なので、うっかりとしか思えんな
988デフォルトの名無しさん
2019/08/11(日) 17:50:38.09ID:++HFlOfG > /bin/sh が bash の場合、ちゃんとは動かない
だからちゃんと動かないコードを直すべきでは?
/bin/shはdash, bash, ash, ksh, zsh, mksh のいずれかの可能性がある(他にもあるかもしれない)
だからちゃんと動かないコードを直すべきでは?
/bin/shはdash, bash, ash, ksh, zsh, mksh のいずれかの可能性がある(他にもあるかもしれない)
989デフォルトの名無しさん
2019/08/11(日) 17:51:46.41ID:k+c7cOcw990デフォルトの名無しさん
2019/08/11(日) 17:57:05.79ID:++HFlOfG991デフォルトの名無しさん
2019/08/11(日) 17:59:38.45ID:++HFlOfG >>989
/bin/shのシンボリックリンクの実体がbash、
つまりposixモードの話をしてるのかもしれないけど、
posixモード(set -o posix)であっても [[ ]] は認識しちゃうからね。
bashのposixモードは、挙動の違いをposixに合わせるだけで
posixにはない拡張機能を無効にすることはないみたい。
/bin/shのシンボリックリンクの実体がbash、
つまりposixモードの話をしてるのかもしれないけど、
posixモード(set -o posix)であっても [[ ]] は認識しちゃうからね。
bashのposixモードは、挙動の違いをposixに合わせるだけで
posixにはない拡張機能を無効にすることはないみたい。
992デフォルトの名無しさん
2019/08/11(日) 18:01:22.10ID:++HFlOfG993デフォルトの名無しさん
2019/08/11(日) 18:01:36.14ID:k+c7cOcw #!/bin/sh
てか、sh とコマンド打って起動してでも、echo -n hello は -n hello と表示されるんだなあ。うちのはw
type echo しても echo is a shell builtin だしね。てか、/bin/echo は -n が効くやつだけど
てか、sh とコマンド打って起動してでも、echo -n hello は -n hello と表示されるんだなあ。うちのはw
type echo しても echo is a shell builtin だしね。てか、/bin/echo は -n が効くやつだけど
994デフォルトの名無しさん
2019/08/11(日) 18:02:28.72ID:k+c7cOcw ちなみに、bash --posix で起動しても echo -n hello は -n hello にはならん、なぞww
995デフォルトの名無しさん
2019/08/11(日) 18:07:05.61ID:++HFlOfG > echo -n hello は -n hello と表示されるんだなあ。
POSIXのechoには-nはないからね。-nに依存するコードを書いてはいけない。
POSIX準拠で書く理由が増えたね。
POSIXのechoには-nはないからね。-nに依存するコードを書いてはいけない。
POSIX準拠で書く理由が増えたね。
996デフォルトの名無しさん
2019/08/11(日) 18:07:37.64ID:k+c7cOcw 誰かさんも使ってると言っていた環境なんだけどなw
$ which sh
/bin/sh
$ ls -l /bin/sh
-r-xr-xr-x 1 root wheel 618480 5 4 16:05 /bin/sh
$ sh --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18)
Copyright (C) 2007 Free Software Foundation, Inc.
$ sh
$ echo -n hello
-n hello
$ exit
exit
$ bash --posix
$ echo -n hello
hello$
$ which sh
/bin/sh
$ ls -l /bin/sh
-r-xr-xr-x 1 root wheel 618480 5 4 16:05 /bin/sh
$ sh --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18)
Copyright (C) 2007 Free Software Foundation, Inc.
$ sh
$ echo -n hello
-n hello
$ exit
exit
$ bash --posix
$ echo -n hello
hello$
997デフォルトの名無しさん
2019/08/11(日) 18:08:18.76ID:++HFlOfG998デフォルトの名無しさん
2019/08/11(日) 18:08:27.92ID:k+c7cOcw >>995
自説の繰り替えしだけか。しょうもない
自説の繰り替えしだけか。しょうもない
999デフォルトの名無しさん
2019/08/11(日) 18:09:01.47ID:k+c7cOcw >>997
よく読めよ。都合が悪くて妄想モードか?
よく読めよ。都合が悪くて妄想モードか?
1000デフォルトの名無しさん
2019/08/11(日) 18:09:45.54ID:lm+uP+yI 1000!
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 40日 19時間 5分 18秒
新しいスレッドを立ててください。
life time: 40日 19時間 5分 18秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 「レーダー照射」なぜ中国は素直に謝罪しないのか 非を認めず反論、逆ギレ「ごめんなさい」と言えない国情★2 [七波羅探題★]
- こども家庭庁、2026年から“独身税”を開始、年収200万なら年4200円、年収400万なら年7800円 ★6 [お断り★]
- 40代教員、1億8600万円分の暗号資産だまし取られる 「警察手帳のような物」見せられ−滋賀県草津市 [蚤の市★]
- 松村沙友理、スタバは好きだけど「やっぱコーヒーに700円800円が…」「家でお湯わかしてやったらタダやん」 [muffin★]
- 【女性用トイレ】「いつもきれいにご利用いただき…」張り紙設置→裏にスマホを隠し女性5人男性1人を盗撮 47歳男を逮捕 [nita★]
- 【サッカー】Jリーグ、43億円の赤字予算を承認 [鉄チーズ烏★]
- 【緊急】朝倉未来のブレイキングダウンで不意打ち食らって失神した選手、くも膜下出血で死亡 [455031798]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★4
- 全員ぶっ殺すお🏡
- たまに身長140センチぐらいしかなさそうな大人の女いるじゃん
- 【高市悲報】TSMCさん、熊本第二工場建設をやめてしまう。これもう半分「みんなで大家さん」みたいなもんだろ🥺 [616817505]
- 月曜日のんなぁ…お疲れ様なのらね…✋🍬ハウス🏡
