シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
シェルスクリプト総合 その31
https://mevius.5ch.net/test/read.cgi/tech/1565446670/
探検
シェルスクリプト総合 その32
■ このスレッドは過去ログ倉庫に格納されています
2019/10/25(金) 00:08:45.53ID:6btPTvif
2019/10/25(金) 00:09:51.40ID:6btPTvif
・特記なき場合、POSIX準拠シェルが既定です
POSIX準拠シェルとBourneシェルの区別はついていますか?BourneシェルはUNIXで過去広く使われたシェルで
多くの亜種が存在します。Bourneシェルの後継で標準化されたものがPOSIX準拠シェルです
参考 https://unix.stackexchange.com/questions/145522/
POSIX準拠シェルは(d)ash, bash, zsh, (m)ksh, yash, posh, (p)boshです
特定のシェル(特にPOSIX準拠シェルではないfish, (t)csh等)の専用機能に依存する場合は明示しましょう
・デフォルトシェルのシバンはBourneシェル時代からの伝統で#!/bin/shを使用します。ただしその実体はOSによって様々です
Debian,Ubuntu … dash
CentOS … bash
FreeBSD … ash
Solaris,OpenBSD … ksh
macOS … 改変版bash
android … mksh
自覚なきbashism、シバンが#!/bin/shなのにbashに依存する構文を使っていませんか?#!/bin/shを使うならシェル依存は厳禁です
macOSのbashはSingle UNIX Specificationに準拠するために改変されており一部動作が異なるので注意しましょう
・Bourneシェルは既にレガシーです
歴史的資料 https://www.in-ulm.de/~mascheck/
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
・POSIXに準拠しましょう
有用なリンクは https://en.wikipedia.org/wiki/POSIX にまとめられています
最新の仕様はこちら http://pubs.opengroup.org/onlinepubs/9699919799/ (左上の「Shell & Utilities」から)
・csh/tcshでのシェルスクリプトは*まったく推奨しません*
参考 http://www.speech-lab.org/~hiroki/csh-whynot.euc
・Linux/UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。Manページや各種リンクを見ましょう
aproposやman -kでそれらしい単語による簡単な検索もできます
・ワイルドカードは正規表現ではありません
正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆうな
POSIX準拠シェルとBourneシェルの区別はついていますか?BourneシェルはUNIXで過去広く使われたシェルで
多くの亜種が存在します。Bourneシェルの後継で標準化されたものがPOSIX準拠シェルです
参考 https://unix.stackexchange.com/questions/145522/
POSIX準拠シェルは(d)ash, bash, zsh, (m)ksh, yash, posh, (p)boshです
特定のシェル(特にPOSIX準拠シェルではないfish, (t)csh等)の専用機能に依存する場合は明示しましょう
・デフォルトシェルのシバンはBourneシェル時代からの伝統で#!/bin/shを使用します。ただしその実体はOSによって様々です
Debian,Ubuntu … dash
CentOS … bash
FreeBSD … ash
Solaris,OpenBSD … ksh
macOS … 改変版bash
android … mksh
自覚なきbashism、シバンが#!/bin/shなのにbashに依存する構文を使っていませんか?#!/bin/shを使うならシェル依存は厳禁です
macOSのbashはSingle UNIX Specificationに準拠するために改変されており一部動作が異なるので注意しましょう
・Bourneシェルは既にレガシーです
歴史的資料 https://www.in-ulm.de/~mascheck/
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
・POSIXに準拠しましょう
有用なリンクは https://en.wikipedia.org/wiki/POSIX にまとめられています
最新の仕様はこちら http://pubs.opengroup.org/onlinepubs/9699919799/ (左上の「Shell & Utilities」から)
・csh/tcshでのシェルスクリプトは*まったく推奨しません*
参考 http://www.speech-lab.org/~hiroki/csh-whynot.euc
・Linux/UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。Manページや各種リンクを見ましょう
aproposやman -kでそれらしい単語による簡単な検索もできます
・ワイルドカードは正規表現ではありません
正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆうな
2019/10/25(金) 00:10:25.47ID:6btPTvif
関連スレ
【Bash】Windows Subsystem for Linux【WSL】6
https://mao.5ch.net/test/read.cgi/linux/1560665525/
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】6
https://mao.5ch.net/test/read.cgi/linux/1560665525/
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/
2019/10/25(金) 00:31:55.29ID:pN2Np6rx
隣で仕事してる他社のチームが、新人にコマンドプロンプトのことをMS-DOSって教えてて笑える
2019/10/25(金) 02:33:05.14ID:IsBuDbrd
業界内で技術用語を正確に把握している人が果たして何人いるんだろうか?
2019/10/25(金) 15:16:28.60ID:L9QL6FGO
コマンドプロンプトのことをなんと教えるか?
× MS-DOSのようなもの
○ ハドソンのゲーム、バニーガール殺人事件のようなもの
https://middle-edge.jp/articles/bFwpM
× MS-DOSのようなもの
○ ハドソンのゲーム、バニーガール殺人事件のようなもの
https://middle-edge.jp/articles/bFwpM
2019/10/25(金) 18:14:14.63ID:ggZuLyhL
Win9xまではコマンドプロンプトのアイコンがMSDOSだったんだぜ
8デフォルトの名無しさん
2019/10/25(金) 19:44:43.63ID:f89Z34lq あれって MS-DOS プロンプトって名前じゃなかった?
Windows NT の方はコマンドプロンプト。
Windows NT の方はコマンドプロンプト。
2019/10/25(金) 21:05:38.68ID:AWtm0G4L
先輩がコマプロとか言っててキモかったな(´・ω・`)
2019/10/25(金) 21:16:19.65ID:Qd2+OiXZ
そういう誰も効かない変な略し方ってどうやって生まれるんだろうね?
俺の知り合いは、AMDをアーマーデーとか言ってた。なんで伸ばすん?
俺の知り合いは、AMDをアーマーデーとか言ってた。なんで伸ばすん?
11デフォルトの名無しさん
2019/10/25(金) 23:38:51.04ID:9ZGj0mXw ドイツ語読みだとしてもマーがおかC
2019/10/25(金) 23:59:50.22ID:6xV0MpQs
そういえばもうDOSプロンプトって言い方しなくなったな
2019/10/26(土) 00:00:29.42ID:hrL9FWKp
XP以降しか使ったことがないって人も増えたからね
2019/10/26(土) 16:02:34.81ID:5U6kcXeJ
MS-DOS の話をしても現在の Windows で再現できないという理由で嘘つき呼ばわりされる。
15デフォルトの名無しさん
2019/10/26(土) 16:33:49.92ID:+M+pJ73c TRUE=$([ 0 = 0 ];echo $?)
FALSE=$([ ! $TRUE ];echo $?)
FLAG=$TRUE or $FALSE
↑クソコード
理由
true / false を使えばいい
true / false がない環境があるかもという理屈なら、 [ がない環境もあるかもと考えろ
set -e のときに動かない
[ ! $FALSE ]; echo $? が 1($FALSEと同じ値)を返すことに気づいていない
サブシェルを使うのもアホらしい
たったこれだけのコードに、こんだけのツッコミができるとはw
FALSE=$([ ! $TRUE ];echo $?)
FLAG=$TRUE or $FALSE
↑クソコード
理由
true / false を使えばいい
true / false がない環境があるかもという理屈なら、 [ がない環境もあるかもと考えろ
set -e のときに動かない
[ ! $FALSE ]; echo $? が 1($FALSEと同じ値)を返すことに気づいていない
サブシェルを使うのもアホらしい
たったこれだけのコードに、こんだけのツッコミができるとはw
16デフォルトの名無しさん
2019/10/26(土) 16:35:45.72ID:+M+pJ73c TRUE=0
FALSE=1
と書いたほうが遥かにマシだが、
これでも、[ $TRUE ] も [ $FALSE ] も共に 0(成功)を返すので
なんだかなーって感じw
FALSE=1
と書いたほうが遥かにマシだが、
これでも、[ $TRUE ] も [ $FALSE ] も共に 0(成功)を返すので
なんだかなーって感じw
17デフォルトの名無しさん
2019/10/26(土) 16:38:37.76ID:+M+pJ73c18デフォルトの名無しさん
2019/10/26(土) 16:49:43.23ID:+M+pJ73c 変数($FLAG)に、0 or 1 を入れてる人は、
こういう書き方をしたいかんのやで
if [ $FLAG ]; then
if [ ! $FLAG ]; then
if [ $FLAG -eq $TRUE ]; then とか
if [ $FLAG -ne $TRUE ]; then って書かないといかん
こういう書き方をしたいかんのやで
if [ $FLAG ]; then
if [ ! $FLAG ]; then
if [ $FLAG -eq $TRUE ]; then とか
if [ $FLAG -ne $TRUE ]; then って書かないといかん
2019/10/26(土) 17:19:51.21ID:swDBEFOl
if $FLAG ; then
書き方も知らんらしいw
書き方も知らんらしいw
20デフォルトの名無しさん
2019/10/26(土) 20:30:57.76ID:+M+pJ73c 0: コマンドが見つかりません
www
www
21デフォルトの名無しさん
2019/10/26(土) 21:19:29.63ID:axNoNf0W22デフォルトの名無しさん
2019/10/26(土) 21:55:28.23ID:NL9ts++52019/10/26(土) 23:37:13.88ID:9r5pzvRl
いつものとっちゃんが来てたのか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国外務省「正式な発言撤回なければ受け入れず」 高市首相は台湾有事「存立危機事態」言及せずも「言及しないことと撤回は別問題」 [ぐれ★]
- 【テレビ】玉川徹「これ天災じゃなくて人災でしょ。責任どうするんだ」 日本のホテル、中国人観光客からのキャンセルが相次ぐ [冬月記者★]
- プーチン大統領「ウクライナ軍が撤退すれば戦闘は終わる」と主張 [どどん★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! ★10 [Ailuropoda melanoleuca★]
- 高市総理の「そんなことよりも」発言を釈明 木原官房長官「急いで話題転換する趣旨」 [ぐれ★]
- 【中国国防省】日本は戦争犯罪を悔い改め、憲法改正と軍備増強という危険な試みをただちに改めよと発信… [BFU★]
- 【WOWOW】UEFAチャンピオンズリーグ・ヨーロッパリーグ ★15
- 巨専】 ★2
- とらせん IP
- ハム専
- 【WOWOW】UEFAチャンピオンズリーグ・ヨーロッパリーグ ★14
- こいせん 全レス転載禁止
- ところで、ネトウヨの敗北ですよねぇ(ニチャァ [805596214]
- すまん、俺の勝ちで良いか?
- 【高市悲報】中国、世界中に是非を問うwwwwwwwwwwwwwwwwwww [308389511]
- 飲みすぎて気持ち悪いからなんとかしろ
- 眠れない奴はバカwwww
- ほぼ全ての男性医は結婚しているが女医の半分は結婚してないという事実
