アカウント名:
パスワード:
普通の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) に書いてあった。基本を忘れている…
Wikipedia鵜呑みにするバカ互換性なくなるからデフォルトはPOSIX非準拠シェルに決まってるだろうが。Solaris10とか11までは当然旧来のB-shell。(そもそもSolarisがすでに使われていない?そりゃそうだ)
Solaris 11(2011年リリース)の /bin/sh は ksh93 で、Bourne Shell ではないとある。
https://docs.oracle.com/cd/E26924_01/html/E25934/userenv-1.html [oracle.com]
Oracle Solaris 11 では、ユーザー環境とコマンド行引数に対して、次を含む変更が導入されました。
シェルの変更 - デフォルトのシェル /bin/sh が ksh93 にリンクさ
Solaris 10 の Extended Support は 2024 年まで [oracle.com]なのでサポート切れではない。
Bourne shell ではなくて、何か別の名前がついていた気がするが…。
いつの間にか 3年延長されていた。失礼。https://blogs.oracle.com/solaris/post/great-news-about-extended-suppor... [oracle.com]
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs
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: (スコア:0)
Wikipedia鵜呑みにするバカ
互換性なくなるからデフォルトはPOSIX非準拠シェルに決まってるだろうが。
Solaris10とか11までは当然旧来のB-shell。(そもそもSolarisがすでに使われていない?そりゃそうだ)
オプションでPOSIX準拠シェルに変更できるようになってさえいればPOSIX準拠名乗っていいんだから。
Re: (スコア:2)
Wikipedia鵜呑みにするバカ
互換性なくなるからデフォルトはPOSIX非準拠シェルに決まってるだろうが。
Solaris10とか11までは当然旧来のB-shell。(そもそもSolarisがすでに使われていない?そりゃそうだ)
Solaris 11(2011年リリース)の /bin/sh は ksh93 で、Bourne Shell ではないとある。
https://docs.oracle.com/cd/E26924_01/html/E25934/userenv-1.html [oracle.com]
Oracle Solaris 11 では、ユーザー環境とコマンド行引数に対して、次を含む変更が導入されました。
シェルの変更 - デフォルトのシェル /bin/sh が ksh93 にリンクさ
Re:bashならでわの高機能部分は使わない (スコア:1)
Solaris 10 の Extended Support は 2024 年まで [oracle.com]なのでサポート切れではない。
Bourne shell ではなくて、何か別の名前がついていた気がするが…。
アレゲなニュースと雑談サイト
Re:bashならでわの高機能部分は使わない (スコア:2)
いつの間にか 3年延長されていた。失礼。
https://blogs.oracle.com/solaris/post/great-news-about-extended-suppor... [oracle.com]