シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
シェルスクリプト総合 その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:axNoNf0W■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国と対話で良い関係つくるのが責任と首相 ★4 [少考さん★]
- 【国際法を無視】日本での「中華人民共和国に台湾問題を論じる資格なし」との声に 中国外交部が厳しく反論… [BFU★]
- 「脅迫だ」国分太一に同情論 音声データ削除要求など日テレの対応を疑問視する声ネットに噴出「それこそコンプラ違反では」★2 [muffin★]
- 生クリームだけの真っ白なクリスマスケーキ 大手メーカーが販売、その理由は…フルーツなしで価格は半額以下に ★3 [おっさん友の会★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! ★5 [Ailuropoda melanoleuca★]
- 【工作員】「X」のアカウント所在地公開機能が暴いた世論操作の実態 MAGA支持著名アカウントの多くが米国外から運営 日本にも波及 ★3 [ごまカンパチ★]
- 高市「台湾は中国の一部かだっけ??いや日本は条約で台湾に関する全ての権利を放棄している。台湾の法的地位や認定する立場にない」 [359572271]
- 【悲報】野田佳彦、高市さんの『存立危機事態』答弁を撤回 [519511584]
- 【画像】NMB48の前田日明ちゃん、お乳がデカすぎる [455031798]
- ヤンジャン新人漫画大賞、入賞作品のAI絵疑惑で大荒れ😄😄😄 高市早苗要素あり [175344491]
- 週のまんなか地点🍬のお🏡
- 高市のせいでこれから国際会議で台湾を「中国台北」と呼称しないと行けなくなってしまった模様 [709039863]
