シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ:
シェルスクリプト総合 その29
https://mevius.5ch.net/test/read.cgi/tech/1537540487/
シェルスクリプト総合 その30
■ このスレッドは過去ログ倉庫に格納されています
2019/07/01(月) 23:04:27.02ID:/rKj5XUf
2019/07/01(月) 23:18:57.10ID:/rKj5XUf
お約束
・特記なき場合、Bourne Shell もしくは POSIX 準拠の sh 可換シェルが既定です
つまりシバンは #!/bin/sh です。
特定のシェル(bash, zsh, (m|pd)ksh, (d)ash, yash, posh, fish, (t)csh など)の専用機能に依存する場合は明示しましょう。
macOS (10.14以前), GNU/Linux ユーザー(Debian, Ubuntu 系以外) は /bin/sh の実体が bash なので*特に*注意
自覚なき bashism---シバンが #!/bin/sh なのに bash に依存する構文を使っていませんか?
ただし Debian, Ubuntu などでは /bin/sh の実体は POSIX sh 互換の dash ですのであまり気にしないでも大丈夫です。
FreeBSD ユーザーは /bin/sh の実体が ash なので注意。
Solaris, OpenBSD ユーザーは /bin/sh の実体が ksh なので注意。
macOS 10.15以降のユーザーは/bin/sh の実体が zsh なので注意。
android ユーザーは /bin/sh の実体が mksh なので注意。
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オプションでそれらしい単語による簡単な検索もできます。
・ワイルドカードは正規表現ではありません。
正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆうな
・特記なき場合、Bourne Shell もしくは POSIX 準拠の sh 可換シェルが既定です
つまりシバンは #!/bin/sh です。
特定のシェル(bash, zsh, (m|pd)ksh, (d)ash, yash, posh, fish, (t)csh など)の専用機能に依存する場合は明示しましょう。
macOS (10.14以前), GNU/Linux ユーザー(Debian, Ubuntu 系以外) は /bin/sh の実体が bash なので*特に*注意
自覚なき bashism---シバンが #!/bin/sh なのに bash に依存する構文を使っていませんか?
ただし Debian, Ubuntu などでは /bin/sh の実体は POSIX sh 互換の dash ですのであまり気にしないでも大丈夫です。
FreeBSD ユーザーは /bin/sh の実体が ash なので注意。
Solaris, OpenBSD ユーザーは /bin/sh の実体が ksh なので注意。
macOS 10.15以降のユーザーは/bin/sh の実体が zsh なので注意。
android ユーザーは /bin/sh の実体が mksh なので注意。
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オプションでそれらしい単語による簡単な検索もできます。
・ワイルドカードは正規表現ではありません。
正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆうな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 東京の自販機そばに金塊4200万円分、何者かに持ち去られる…札幌の50代が8000万円振り込んだ後に上京して被害 [どどん★]
- 山田邦子 ひょうきん族時代の年収は12億円「ただ税金が80%」 [muffin★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★7 [ぐれ★]
- 【東京】「家族で話題にして」 “世田谷一家殺害から25年 警視庁が呼びかけ [煮卵★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
- 【鹿児島】容疑者は大学生。国道3号を横断中の母娘を車ではねる――「太陽がまぶしくて見えなかった」。20歳女を現行犯逮捕 日置署 [ぐれ★]
- 高市早苗「定数削減とかすると思ってたの???笑」漢一匹吉村「ざっけんな」反旗を翻す [245325974]
- しかし鈴木農水大臣ほど、見る人によって『イケメン』か『ブサイク』か真っ二つに割れる人間も中々いないよな [762037879]
- ルーナイト第1条!誰よりルーナ(・o・🍬)が好きな人~🙋🏡
- 小野田紀美、同党議員の熱愛報道に「不潔...」と嫌悪感を漏らす... [856698234]
- おさかなさんあつまれえ
- 高市「たまたま私が支部長だった。高市早苗に対する献金ではない」→自分の公式サイトで、ガッツリ寄付を呼びかけていた事が判明 [594040874]
