パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Microsoftによるbash入門動画」記事へのコメント

  • 普通のshでも動くシェルスクリプトをbashで動かしてるな
    bashオリジナル機能を使うことはまず無い

    • by Anonymous Coward

      普通のshって何なんだろ。
      Debianはdash、Archはbash、Androidはmkshだっけ。
      bashをshで起動したらPOSIX互換モードだけどもbash固有機能は使える。

      • by Anonymous Coward

        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) に書いてあった。基本を忘れている…

          sh is a POSIX-compliant command interpreter (shell). It is implemented by re-execing as either bash(1), dash(1), or zsh(1) as determined by the symbolic link located at /private/var/select/sh. If /private/var/select/sh does not exist or does not point to a valid shell, sh will use one of the supported shells.

          macOS の /bin/sh は bash とは限らないわけか。変更する人がいるのか、という疑問はありますが。
          /bin/sh が単なる /private/var/select/sh へのシンボリックリンクでは無い理由はなんだろう?

          親コメント
          • by Anonymous Coward
            >Bourne Shell後継のPOSIX準拠のシェルに置き換わっており、POSIXに準拠していないBourne Shellはすでに使われていない。
            Wikipedia鵜呑みにするバカ
            互換性なくなるからデフォルトはPOSIX非準拠シェルに決まってるだろうが。
            Solaris10とか11までは当然旧来のB-shell。(そもそもSolarisがすでに使われていない?そりゃそうだ)
            オプションでPOSIX準拠シェルに変更できるようになってさえいればPOSIX準拠名乗っていいんだから。
          • by Anonymous Coward

            shの書籍としては20年以上前のものしかなくて、現状にあっていないんですよね。

            名著「入門UNIXシェルプログラミング」の超詳細なレビューをしてみた(古い内容の訂正)
            https://qiita.com/ko1nksm/items/0fa2f73dd6d9822518a3 [qiita.com]

          • by Anonymous Coward

            > /bin/sh が単なる /private/var/select/sh へのシンボリックリンクでは無い理由はなんだろう?

            たぶん間違って/private/var/select/shを消したりしてもフォールバック出来るようにするためだと思う
            怖いからしないけど

クラックを法規制強化で止められると思ってる奴は頭がおかしい -- あるアレゲ人

処理中...