アカウント名:
パスワード:
普通のshでも動くシェルスクリプトをbashで動かしてるなbashオリジナル機能を使うことはまず無い
普通のshって何なんだろ。Debianはdash、Archはbash、Androidはmkshだっけ。bashをshで起動したらPOSIX互換モードだけどもbash固有機能は使える。
Unix version 7 で規定されている Bourne Shell [wikipedia.org] でしょう。
POSIX規格で規定されるUnix系システムではBourne Shell後継のPOSIX準拠のシェルに置き換わっており、POSIXに準拠していないBourne Shellはすでに使われていない。
(wikipedia)
今時 POSIX に準拠していない Unix を使うとは思えません。Bourne Shell を使っている Linux は無いでしょう。すでに使われていないものが「普通のsh」ということはありません。
「普通のsh」(実際にはどこでも使えるsh)は POSIX 準拠シェルを想定すれば良いと思います。個々の POSIX 準拠シェル自体は POSIX 準拠シェル+独自機能なので、POSIX モード bash などを「普通のsh」と考えるとハマりますが。
Linux でも Docker や Raspberry Pi OS のように bash が無い環境もありますし。
参考 Qiita: Bourne Shell(古いsh)とPOSIXシェル(現在のsh, bash, etc)の違い [qiita.com] どこでも動くシェルスクリプトを書くための ~ POSIXモードの基礎知識(前編) [qiita.com] どこでも動くシェルスクリプトを書くための ~ POSIXモードの基礎知識(後編) [qiita.com]
macOS の /bin/sh の正体はネットで調べてもよくわからん…と思っていたら man sh(1) に書いてあった。基本を忘れている…
> /bin/sh が単なる /private/var/select/sh へのシンボリックリンクでは無い理由はなんだろう?
たぶん間違って/private/var/select/shを消したりしてもフォールバック出来るようにするためだと思う怖いからしないけど
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家
bashならでわの高機能部分は使わない (スコア:0)
普通のshでも動くシェルスクリプトをbashで動かしてるな
bashオリジナル機能を使うことはまず無い
Re: (スコア:0)
普通のshって何なんだろ。
Debianはdash、Archはbash、Androidはmkshだっけ。
bashをshで起動したらPOSIX互換モードだけどもbash固有機能は使える。
Re: (スコア:0)
Unix version 7 で規定されている Bourne Shell [wikipedia.org] でしょう。
Re: (スコア:2)
POSIX規格で規定されるUnix系システムではBourne Shell後継のPOSIX準拠のシェルに置き換わっており、POSIXに準拠していないBourne Shellはすでに使われていない。
(wikipedia)
今時 POSIX に準拠していない Unix を使うとは思えません。Bourne Shell を使っている Linux は無いでしょう。すでに使われていないものが「普通のsh」ということはありません。
「普通のsh」(実際にはどこでも使えるsh)は POSIX 準拠シェルを想定すれば良いと思います。個々の POSIX 準拠シェル自体は POSIX 準拠シェル+独自機能なので、POSIX モード bash などを「普通のsh」と考えるとハマりますが。
Linux でも Docker や Raspberry Pi OS のように bash が無い環境もありますし。
参考 Qiita:
Bourne Shell(古いsh)とPOSIXシェル(現在のsh, bash, etc)の違い [qiita.com]
どこでも動くシェルスクリプトを書くための ~ POSIXモードの基礎知識(前編) [qiita.com]
どこでも動くシェルスクリプトを書くための ~ POSIXモードの基礎知識(後編) [qiita.com]
macOS の /bin/sh の正体はネットで調べてもよくわからん…と思っていたら man sh(1) に書いてあった。基本を忘れている…
Re:bashならでわの高機能部分は使わない (スコア:0)
> /bin/sh が単なる /private/var/select/sh へのシンボリックリンクでは無い理由はなんだろう?
たぶん間違って/private/var/select/shを消したりしてもフォールバック出来るようにするためだと思う
怖いからしないけど