シェルスクリプト総合 その33at TECHシェルスクリプト総合 その33 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト2:デフォルトの名無しさん 20/03/23 01:13:11.44 TYte82vJ.net ・特記なき場合、POSIX準拠シェルが既定です(古きBourneシェルはほぼ絶滅しました) POSIX準拠シェルは(d)ash, bash, zsh, (m)ksh, yash, posh, (p)boshです 参考 https://unix.stackexchange.com/questions/145522/ 特定のシェルの専用機能に依存する場合は明示しましょう(特にPOSIX準拠シェルではないfish, (t)csh等) ・デフォルトシェルのシバンはBourneシェル時代からの伝統で#!/bin/shを使用します。ただしその実体はOSによって様々です Debian系 … dash CentOS系 … bash Alpine … ash(busybox) Android … mksh FreeBSD … ash Solaris,OpenBSD … ksh macOS … bash(Single UNIX Specification準拠のために一部動作が異なる) ・ログインシェルは/bin/shでない場合があります。例 macOS … zsh ・シェルスクリプトは可搬性を持たせるために可能な限りPOSIXに準拠しましょう 仕様 http://pubs.opengroup.org/onlinepubs/9699919799/ 参考 https://en.wikipedia.org/wiki/POSIX ・bash依存はなるべく避けましょう。自覚なきbashism。シバンが#!/bin/shなのにbashに依存する構文を使っていませんか? #!/bin/shを使うならシェル依存は厳禁です。bash依存するなら#!/bin/bashです ・BourneシェルはPOSIX標準化前に主にUNIXで使われていたシェルで多くの亜種が存在します Bourneシェル≒Version 7 UNIXのshに一番近いのはOpenSolaris由来のHeirloom Bourne Shell、次点でSchily Bourne Shellのoboshです Heirloom Bourne Shell: sh http://heirloom.sourceforge.net/sh.html Schily Bourne Shell: obosh http://schilytools.sourceforge.net/bosh.html 歴史的資料 https://www.in-ulm.de/~mascheck/ ・csh/tcshでのシェルスクリプトは*まったく推奨しません* 参考 http://www.speech-lab.org/~hiroki/csh-whynot.euc ・Linux/UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。Manページや各種リンクを見ましょう aproposやman -kでそれらしい単語による簡単な検索もできます ・ワイルドカード・パターンは正規表現ではありません。正規表現の話題はスレ違い(正規表現スレへ) ・シェル芸はシェルスクリプトとは異なります ・シェルスクリプトのことをシェルってゆうな 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch