[過去ログ] シェルスクリプト総合 その30 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: 2019/07/01(月)23:04 ID:/rKj5XUf(1/3) AAS
シェルスクリプトに関する総合スレッドです。

全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。

前スレ:
シェルスクリプト総合 その29
2chスレ:tech
983: 2019/08/11(日)17:34 ID:++HFlOfG(5/13) AAS
>>979
debianはbash依存をなくすのに苦労したらしいからね。

外部リンク:wiki.ubuntu.com
> 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 ID:++HFlOfG(6/13) AAS
>>980
どこでも動くために、POSIXに準拠することの大切さがわかるよね。
985: 2019/08/11(日)17:42 ID:++HFlOfG(7/13) AAS
>>982
うっかりじゃなくて、無知だと思うよ。
知ってる人が指摘してあげないとね。
986: 2019/08/11(日)17:46 ID:k+c7cOcw(3/10) AAS
傲慢だな。そうじゃないと今までの自分のレスが馬鹿みたいだから...
知らないのかもしれないが、/bin/sh が bash の場合、ちゃんとは動かない

てか、あっちのスレを行けよ
987
(1): 2019/08/11(日)17:49 ID:k+c7cOcw(4/10) AAS
ああ、/bin/sh が bash で、しかも、bash が 3.x の場合かもしれない
/bin/sh が bash であっても、#!/bin/sh だと>>975のスクリプトはうまく動かないのはね。なので、うっかりとしか思えんな
988: 2019/08/11(日)17:50 ID:++HFlOfG(8/13) AAS
> /bin/sh が bash の場合、ちゃんとは動かない

だからちゃんと動かないコードを直すべきでは?
/bin/shはdash, bash, ash, ksh, zsh, mksh のいずれかの可能性がある(他にもあるかもしれない)
989
(2): 2019/08/11(日)17:51 ID:k+c7cOcw(5/10) AAS
>>982って言ってるだろ
/bin/sh が bash であっても、#!/bin/sh だと>>975のスクリプトはうまく動かない
ね。詳しく正しくは
990: 2019/08/11(日)17:57 ID:++HFlOfG(9/13) AAS
>>987
全角スペースは見やすくするために流石にわざとだとして、
>>975のスクリプトはbash 2.x以上であれば動くよ。確認済み。
(bash 1系の環境は作ってないのでわからん)

Debian、Ubuntuであれば /bin/sh じゃ動かないので
手元のMacかな?それで試しただけだろうね。
991: 2019/08/11(日)17:59 ID:++HFlOfG(10/13) AAS
>>989
/bin/shのシンボリックリンクの実体がbash、
つまりposixモードの話をしてるのかもしれないけど、
posixモード(set -o posix)であっても [[ ]] は認識しちゃうからね。

bashのposixモードは、挙動の違いをposixに合わせるだけで
posixにはない拡張機能を無効にすることはないみたい。
992: 2019/08/11(日)18:01 ID:++HFlOfG(11/13) AAS
なので>>989が何を言いたいのかわからんね。
具体的に、どういう理由でbashで>>975が動かないのか
どのようなエラーが出力されるのかを言えば
説得力も出ると思うよ。

レス待ってるねw
993: 2019/08/11(日)18:01 ID:k+c7cOcw(6/10) AAS
#!/bin/sh
てか、sh とコマンド打って起動してでも、echo -n hello は -n hello と表示されるんだなあ。うちのはw
type echo しても echo is a shell builtin だしね。てか、/bin/echo は -n が効くやつだけど
994: 2019/08/11(日)18:02 ID:k+c7cOcw(7/10) AAS
ちなみに、bash --posix で起動しても echo -n hello は -n hello にはならん、なぞww
995
(1): 2019/08/11(日)18:07 ID:++HFlOfG(12/13) AAS
> echo -n hello は -n hello と表示されるんだなあ。
POSIXのechoには-nはないからね。-nに依存するコードを書いてはいけない。
POSIX準拠で書く理由が増えたね。
996: 2019/08/11(日)18:07 ID:k+c7cOcw(8/10) AAS
誰かさんも使ってると言っていた環境なんだけどな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
省6
997
(1): 2019/08/11(日)18:08 ID:++HFlOfG(13/13) AAS
ま、案外
> /bin/sh が bash であっても、#!/bin/sh だと>>975のスクリプトはうまく動かない
の理由は全角スペースが入ってるからだったりしてねw
998: 2019/08/11(日)18:08 ID:k+c7cOcw(9/10) AAS
>>995
自説の繰り替えしだけか。しょうもない
999: 2019/08/11(日)18:09 ID:k+c7cOcw(10/10) AAS
>>997
よく読めよ。都合が悪くて妄想モードか?
1000: 2019/08/11(日)18:09 ID:lm+uP+yI(3/3) AAS
1000!
1001
(1): 1001 ID:Thread(1/2) AAS
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 40日 19時間 5分 18秒
1002
(1): 1002 ID:Thread(2/2) AAS
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。

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

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
省4
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.206s*