シェルスクリプト総合 その29at TECHシェルスクリプト総合 その29 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト2:デフォルトの名無しさん 18/09/21 23:36:59.94 /eJt2TVD.net お約束 ・特記なき場合、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: http://www.speech-lab.org/~hiroki/csh-whynot.euc) ・POSIXに準拠しましょう 有用なリンクはhttps://en.wikipedia.org/wiki/POSIXにまとめられています。 最新の仕様はこちらへ: http://pubs.opengroup.org/onlinepubs/9699919799/ (左上の「Shell & Utilities」から各コマンドやファイルの仕様を参照することができます) ・Version 7 UNIXのsh(1)に一番近いのはOpenSolaris由来のHeirloom sh、次点でDebianなどに搭載されているDash shell Heirloom sh: http://heirloom.sourceforge.net/sh.html Dash shell: http://gondor.apana.org.au/~herbert/dash/ ・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります Manページや各種リンク(http://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.htmlなど)を見ましょう。 apropos(1)ないしはman(1)の-kオプションでそれらしい単語による簡単な検索もできます。 ・ワイルドカードは正規表現ではありません。 正規表現の話題はスレ違い(正規表現スレへ) ・シェルスクリプトのことをシェルってゆうな 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch