シェルスクリプト総合 その37

■ このスレッドは過去ログ倉庫に格納されています
2021/10/05(火) 22:49:30.91ID:KsbWuyFp
シェルスクリプトに関する総合スレッドです。

全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
・「POSIX原理主義」「ユニケージ」「USP研究所」はPOSIXとUnixを曲解し
間違ったシェルスクリプトを広めている宗教です。洗脳されないようにしてください。

前スレ: シェルスクリプト総合 その36
https://mevius.5ch.net/test/read.cgi/tech/1614212414/

関連スレ
・【Bash】Windows Subsystem for Linux【WSL】11
https://mao.5ch.net/test/read.cgi/linux/1627507889/
・Bashでプログラミング [転載禁止](c)2ch.net
https://mao.5ch.net/test/read.cgi/linux/1443885102/
・シェルスクリプト総合 その28
https://mevius.5ch.net/test/read.cgi/unix/1533154936/
・zsh その7
https://mevius.5ch.net/test/read.cgi/unix/1337844883/
・過去UNIXで使われていた ksh というシェルについて
https://mevius.5ch.net/test/read.cgi/unix/1582358403/
・【POSIX】UNIXプログラミング【BSD】 [転載禁止](c)2ch.net
https://mevius.5ch.net/test/read.cgi/unix/1443103705/
・おまえら! shell は何を使っているんですか?
https://mevius.5ch.net/test/read.cgi/unix/1012330865/
2021/10/05(火) 22:50:14.38ID:KsbWuyFp
・特記なき場合、POSIX準拠シェルが既定です(古きBourneシェルはほぼ絶滅しました)
 POSIX準拠シェルは(d)ash, bash, zsh, (m)ksh, yash, posh, (p)boshです
 参考 https://unix.stackexchange.com/questions/145522/
 特定のシェルの専用機能に依存する場合は明示しましょう(特にPOSIX準拠シェルではないfish, (t)csh等)
・POSIX準拠シェルのおすすめは?→多く使われているのはDebian/Ubuntu系のdashです
・bashでいいじゃん→bashがインストールされてない環境があります。環境によってデフォルトシェルの実体は異なります
  Debian系 … dash   CentOS系 … bash   Alpine … busybox ash  Android … mksh
  FreeBSD … ash   Solaris,OpenBSD … ksh
  macOS … bash(Single UNIX Specification準拠のために一部動作が異なる)
・macOSはzshなんだよね?→ログインシェルがzshに変わっただけで/bin/shはbash 3.2です
・シェルスクリプトは可搬性を持たせるために可能な限りPOSIXに準拠しましょう
 仕様 http://pubs.opengroup.org/onlinepubs/9699919799/
・シバンになにを使えばいいの?→POSIX準拠してるなら#!/bin/sh、bashなら#!/bin/bashか#!/usr/bin/env bash
・bash依存はなるべく避けましょう。自覚なきbashism。シバンが#!/bin/shなのにbashに依存する構文を使っていませんか?
・Bourneシェル(≒POSIXシェル)はPOSIX標準化前にUNIXで使われていたシェルで多くの亜種が存在します
 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ページや各種リンクを見ましょう
・ワイルドカード・パターンは正規表現ではありません。正規表現の話題は正規表現スレへ
・シェル芸とシェルスクリプトは全く異なります
・シェルスクリプトのことをシェルってゆうな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況