シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
シェルスクリプト総合 その32
https://mevius.5ch.net/test/read.cgi/tech/1571929725/
探検
シェルスクリプト総合 その33
■ このスレッドは過去ログ倉庫に格納されています
2020/03/23(月) 01:12:30.31ID:TYte82vJ
2020/03/23(月) 01:13:11.44ID:TYte82vJ
・特記なき場合、POSIX準拠シェルが既定です(古きBourneシェルはほぼ絶滅しました)
POSIX準拠シェルは(d)ash, bash, zsh, (m)ksh, yash, posh, (p)boshです
参考 https://unix.stackexchange.com/questions/145522/
特定のシェルの専用機能に依存する場合は明示しましょう(特にPOSIX準拠シェルではないfish, (t)csh等)
・デフォルトシェルのシバンはBourneシェル時代からの伝統で#!/bin/shを使用します。ただしその実体はOSによって様々です
Debian系 … dash CentOS系 … bash Alpine … ash(busybox) Android … mksh
FreeBSD … ash Solaris,OpenBSD … ksh
macOS … bash(Single UNIX Specification準拠のために一部動作が異なる)
・ログインシェルは/bin/shでない場合があります。例 macOS … zsh
・シェルスクリプトは可搬性を持たせるために可能な限りPOSIXに準拠しましょう
仕様 http://pubs.opengroup.org/onlinepubs/9699919799/
参考 https://en.wikipedia.org/wiki/POSIX
・bash依存はなるべく避けましょう。自覚なきbashism。シバンが#!/bin/shなのにbashに依存する構文を使っていませんか?
#!/bin/shを使うならシェル依存は厳禁です。bash依存するなら#!/bin/bashです
・BourneシェルはPOSIX標準化前に主にUNIXで使われていたシェルで多くの亜種が存在します
Bourneシェル≒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ページや各種リンクを見ましょう
aproposやman -kでそれらしい単語による簡単な検索もできます
・ワイルドカード・パターンは正規表現ではありません。正規表現の話題はスレ違い(正規表現スレへ)
・シェル芸はシェルスクリプトとは異なります
・シェルスクリプトのことをシェルってゆうな
POSIX準拠シェルは(d)ash, bash, zsh, (m)ksh, yash, posh, (p)boshです
参考 https://unix.stackexchange.com/questions/145522/
特定のシェルの専用機能に依存する場合は明示しましょう(特にPOSIX準拠シェルではないfish, (t)csh等)
・デフォルトシェルのシバンはBourneシェル時代からの伝統で#!/bin/shを使用します。ただしその実体はOSによって様々です
Debian系 … dash CentOS系 … bash Alpine … ash(busybox) Android … mksh
FreeBSD … ash Solaris,OpenBSD … ksh
macOS … bash(Single UNIX Specification準拠のために一部動作が異なる)
・ログインシェルは/bin/shでない場合があります。例 macOS … zsh
・シェルスクリプトは可搬性を持たせるために可能な限りPOSIXに準拠しましょう
仕様 http://pubs.opengroup.org/onlinepubs/9699919799/
参考 https://en.wikipedia.org/wiki/POSIX
・bash依存はなるべく避けましょう。自覚なきbashism。シバンが#!/bin/shなのにbashに依存する構文を使っていませんか?
#!/bin/shを使うならシェル依存は厳禁です。bash依存するなら#!/bin/bashです
・BourneシェルはPOSIX標準化前に主にUNIXで使われていたシェルで多くの亜種が存在します
Bourneシェル≒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ページや各種リンクを見ましょう
aproposやman -kでそれらしい単語による簡単な検索もできます
・ワイルドカード・パターンは正規表現ではありません。正規表現の話題はスレ違い(正規表現スレへ)
・シェル芸はシェルスクリプトとは異なります
・シェルスクリプトのことをシェルってゆうな
2020/03/23(月) 01:14:49.56ID:TYte82vJ
関連スレ
【Bash】Windows Subsystem for Linux【WSL】7
https://mao.5ch.net/test/read.cgi/linux/1579395785/l50
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/
【POSIX】UNIXプログラミング【BSD】 [転載禁止](c)2ch.net
https://mevius.5ch.net/test/read.cgi/unix/1443103705/
【Bash】Windows Subsystem for Linux【WSL】7
https://mao.5ch.net/test/read.cgi/linux/1579395785/l50
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/
【POSIX】UNIXプログラミング【BSD】 [転載禁止](c)2ch.net
https://mevius.5ch.net/test/read.cgi/unix/1443103705/
2020/03/23(月) 16:11:26.05ID:urYmb4Ir
タコシェルが一番好きです。なぜならおいしいから。
2020/03/23(月) 21:51:18.74ID:gNyotYW5
>>1 乙
ところで早速の質問なんだけど,GNU Bashの履歴展開に関して,
<<. cat |
&#
.
cat
↑このコマンドを実行した時に,履歴展開「!$」の値が「&」になるのと,
<<. cat |
#&
.
cat
↑このコマンドを実行した時に,履歴展開「!$」の値が「|」になるのって,
バグ?仕様?
ちなみに履歴展開「!!」の値は正常(つまり直前のコマンドライン全体に復元される)だし,
ヒアドキュメントの内容が&xやx&だったりした場合は
期待通りの挙動(すなわち最後の引数,この場合は「cat」)になる。
ところで早速の質問なんだけど,GNU Bashの履歴展開に関して,
<<. cat |
&#
.
cat
↑このコマンドを実行した時に,履歴展開「!$」の値が「&」になるのと,
<<. cat |
#&
.
cat
↑このコマンドを実行した時に,履歴展開「!$」の値が「|」になるのって,
バグ?仕様?
ちなみに履歴展開「!!」の値は正常(つまり直前のコマンドライン全体に復元される)だし,
ヒアドキュメントの内容が&xやx&だったりした場合は
期待通りの挙動(すなわち最後の引数,この場合は「cat」)になる。
2020/03/24(火) 02:17:57.55ID:cu1HFh78
catコマンドがあるのにdogコマンドってないんですか?
気になります。
気になります。
2020/03/24(火) 03:33:10.76ID:Do7E3fIs
tac コマンドがあるよ
2020/03/24(火) 03:35:04.91ID:UBy3gEYu
>>6
wachdog
wachdog
2020/03/24(火) 03:35:15.65ID:UBy3gEYu
t忘れた
2020/03/24(火) 07:10:36.15ID:fj9Tix3R
私は可愛い猫と女の子を見ていたいです。
I want to watch girl with cute cat.
I want to watch girl with cute cat.
2020/03/24(火) 11:34:18.79ID:0MDW2qu9
>>10
短い文なのに英語力の低さがダダ漏れ
短い文なのに英語力の低さがダダ漏れ
2020/03/26(木) 01:44:53.53ID:1qTCm9gt
touchやcatみたいに本来とは違う用途で使われるコマンドって他にもあるんだろうか
mvでリネームも最初は不可解だったが
mvでリネームも最初は不可解だったが
2020/03/26(木) 08:26:08.90ID:cRYr3Jpu
>>12
どんな使い方だ?
どんな使い方だ?
2020/03/26(木) 09:12:09.34ID:dMO0q1U3
触るだけだったのに作ってしまう
猫だったのに
猫だったのに
2020/03/26(木) 09:30:11.06ID:n14BBjo0
結合結果を出力するものだが単独ファイルの中身を表示するのに使うとか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 《いつかこの子がドレスを着るまで生きたい》サウナ閉じ込め…専門家が指摘する月額39万円サウナの“論外な構造” [パンナ・コッタ★]
- 官邸の安保担当「日本は核保有すべきだ」 政府内の検討は否定 [蚤の市★]
- 胸を強調した女性アニメキャラをファミレスがコラボ企画で起用。「この表現はどうなのか」SNSで疑問の声 ★3 [少考さん★]
- 女子高生が初の司法試験合格 予備ルートの慶応女子高3年「企業法務の弁護士になりたい」 [ぐれ★]
- 【芸能】紅しょうが・稲田 男性と食事で割り勘 「ダサい」と幻滅も… 婚活アドバイザーが一刀両断「割り勘になった時点で負け」 [冬月記者★]
- 松本人志「DOWNTOWN+」に非吉本から売り込み殺到 加入者50万人突破で [Ailuropoda melanoleuca★]
- 東京23区のファミリー向け賃貸マンションの平均家賃、初の25万円超え。東京一強で負け組日本人は郊外へ [271912485]
- 年末年始休みなし😭
- トランプ「直接集金するか」🦎日本人「よろこんで!」 [399259198]
- 【悲報】高市早苗、山口敬之が民事で有罪になり安倍晋三が暗殺された直後にレイプ犯と笑顔でツーショット撮影していたwwwwwwwwww [802034645]
- 🏡☢核兵器使用推進スレ☢🏡
- 【吉報】玉木×高市の「年 収 の 壁」撤廃の減税額、マジのガチですごすぎるwmwmwmwmwmwmw [517459952]
