[過去ログ] 【POSIX】 sh系互換 シェルスクリプトスレ (4レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: 2018/08/25(土)20:05 ID:A3V5N+C6(1/2) AAS
sh系シェルスクリプトに関する総合スレッドです。
sh系とは bash, zsh, ksh, (d)ash, yash, posh, fish, (t)csh)などを指します
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
2: 2018/08/25(土)20:06 ID:A3V5N+C6(2/2) AAS
お約束
・Bourne ShellもしくはPOSIX準拠のsh可換シェル専用です
つまりシバンは#! /bin/shです。
特定のシェル(bash, zsh, ksh, (d)ash, yash, posh, fish, (t)csh)などの専用機能に依存する場合は明示しましょう。
OS X, GNU/Linuxユーザーは/bin/shの実体がbashなので*特に*注意(自覚なきbashism---シバンが#!/bin/shなのにbashに依存する構文を使っていませんか?)。
ただしDebian, Ubuntuなどでは/bin/shの実体はPOSIX sh互換のdashですのであまり気にしないでも大丈夫です。
FreeBSDユーザーは/bin/shの実体がashなので注意。
Solaris, OpenBSDユーザーは/bin/shの実体がkshなので注意。
csh/tcshでのシェルスクリプトは*まったく推奨しません*。このスレの対象外です。
(参考URL: 外部リンク[euc]:www.speech-lab.org)
・POSIXに準拠しましょう
有用なリンクは外部リンク:en.wikipedia.orgにまとめられています。
最新の仕様はこちらへ: 外部リンク:pubs.opengroup.org
(左上の「Shell & Utilities」から各コマンドやファイルの仕様を参照することができます)
・Version 7 UNIXのsh(1)に一番近いのはOpenSolaris由来のHeirloom sh、次点でDebianなどに搭載されているDash shell
Heirloom sh: 外部リンク[html]:heirloom.sourceforge.net
Dash shell: 外部リンク:gondor.apana.org.au
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります
Manページや各種リンク(外部リンク[html]:pubs.opengroup.orgなど)を見ましょう。
apropos(1)ないしはman(1)の-kオプションでそれらしい単語による簡単な検索もできます。
・ワイルドカードは正規表現ではありません。
正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆうな
3: 2019/08/10(土)02:11 ID:x0rFB4wI(1) AAS
POSIX準拠で対応できない場合はどうする?
POSIXコマンド以外を使う場合、可搬性はどのようにして保つ?
4: 2019/08/11(日)00:04 ID:GFStkW/c(1) AAS
POSIX以外のコマンドで同等の処理ができるなら、
そのコマンド(のいずれか)を使う。
場合によってはラッパー関数とか作って違いを吸収したり。
最悪の場合、POSIX準拠できない部分だけ
ネイティブバイナリしてコマンドで呼び出すとか
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.157s*