シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
・「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/
探検
シェルスクリプト総合 その37
■ このスレッドは過去ログ倉庫に格納されています
2021/10/05(火) 22:49:30.91ID:KsbWuyFp
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ページや各種リンクを見ましょう
・ワイルドカード・パターンは正規表現ではありません。正規表現の話題は正規表現スレへ
・シェル芸とシェルスクリプトは全く異なります
・シェルスクリプトのことをシェルってゆうな
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ページや各種リンクを見ましょう
・ワイルドカード・パターンは正規表現ではありません。正規表現の話題は正規表現スレへ
・シェル芸とシェルスクリプトは全く異なります
・シェルスクリプトのことをシェルってゆうな
3デフォルトの名無しさん
2021/10/06(水) 17:20:42.12ID:XJEs7oM2 2ゲット
4デフォルトの名無しさん
2021/10/08(金) 03:54:38.51ID:LzOvy0cf 3げと
5デフォルトの名無しさん
2021/10/09(土) 07:02:28.75ID:F/g3bnt2 げっとわいるど
6デフォルトの名無しさん
2021/10/12(火) 17:53:02.51ID:elEZT6pO つーか真偽値の問題じゃなくて
シェルスクリプトのifが終了ステータスを判断するコマンドってだけだろ
シェルスクリプトのifが終了ステータスを判断するコマンドってだけだろ
7デフォルトの名無しさん
2021/10/12(火) 17:54:35.21ID:elEZT6pO あとシェル関数が返すのも終了ステータス
戻り値じゃない、そもそも終了ステータスしか返せないだろ
returnだからって他の言語のretruntを同じだと思うなよ
戻り値じゃない、そもそも終了ステータスしか返せないだろ
returnだからって他の言語のretruntを同じだと思うなよ
2021/10/12(火) 17:59:10.51ID:FcrICImt
>>6
だから真偽値の問題でしょw
お前、いい加減自分で何言ってるかわかってないだろw
それを言ったらC言語のifだって値を判断するだけのコマンド(文)って
なっちゃうだろwww
だれかがboolean型持ち出したから、混乱してんのかもしれないけど、
昔のC言語にはそんな型ねーからな?w
だから真偽値の問題でしょw
お前、いい加減自分で何言ってるかわかってないだろw
それを言ったらC言語のifだって値を判断するだけのコマンド(文)って
なっちゃうだろwww
だれかがboolean型持ち出したから、混乱してんのかもしれないけど、
昔のC言語にはそんな型ねーからな?w
2021/10/12(火) 18:01:19.29ID:FcrICImt
結局、Cでも(その他でも)シェルスクリプトでさえも、
ifってのは式の値を真偽に判断するものなんだよ。
ifってのは式の値を真偽に判断するものなんだよ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 『一貫している日本政府の立場があたかも変わったかのような主張を国内ですることは、中国を利することに』自民党広報が見解 [おっさん友の会★]
- 石破茂氏、「高市さんよくぞ言った」の空気に待った 存立危機事態…考えてはいても「公の場で言うことか」:東京新聞 ★2 [少考さん★]
- 今後50年間、毎年100万人ずつ人口が減る…「少子化対策」の失敗で日本が迎える「死ぬまで搾取」というヤバい未来 [ぐれ★]
- 高市氏、今年4月に「台湾も日本も世界的に必要な国家」と講演 [1ゲットロボ★]
- 【おっぱい】「女性を見つけた瞬間に揉みたいという衝動にかられ…」路上で25歳女性に不同意わいせつ行為か 21歳土木作業員の男を逮捕 [nita★]
- 【芸能】元BE:FIRST三山凌輝、あんかけパスタ店オープンを発表 [Ailuropoda melanoleuca★]
- 星街すいちゃん、純明太子(無着色)を発売決定wwwwwwwwwwwwwwwwwwwwwwwwwwwwww [329329848]
- 【高市悲報】中国、統一教会を邪教と位置付け、日米政界が統一教会に牛耳られているとみなしていた🏺😭 [359965264]
- 朝日新聞「高市がトランプから怒られたって日本政府関係者がゆってた」 [329329848]
- 【?報】巨人阿部監督、松本剛に電話で速攻ラブコールしていたWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
- dアニメストア「OPEDのスキップ機能つけました」👉さすがに作品に失礼すぎると大炎上 [329329848]
- 腹筋割れてるのってそんな珍しいことちゃうよな?
