シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
前スレ: シェルスクリプト総合 その35
https://mevius.5ch.net/test/read.cgi/tech/1606221440/
関連スレ
・【Bash】Windows Subsystem for Linux【WSL】9
https://mao.5ch.net/test/read.cgi/linux/1607589861/
・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/
シェルスクリプト総合 その36
■ このスレッドは過去ログ倉庫に格納されています
2021/02/25(木) 09:20:14.64ID:ZyJLXTlk
489デフォルトの名無しさん
2021/04/28(水) 18:34:58.14ID:a9uMhLuq awkだけでなんとでも書けそう
490デフォルトの名無しさん
2021/04/28(水) 18:39:28.46ID:goIH39T4 だよな
釣りか?
釣りか?
491デフォルトの名無しさん
2021/04/28(水) 18:46:45.34ID:xybfukyI C言語でもどんな言語でも書けるというだけのことなら
私も知ってますが・・・
私も知ってますが・・・
492デフォルトの名無しさん
2021/04/28(水) 18:50:26.24ID:snsrMSzN csplit
cat head anotherfile rest
cat head anotherfile rest
493デフォルトの名無しさん
2021/04/28(水) 18:55:44.80ID:snsrMSzN ただ行単位で分割なので適当にタグ前後に改行挿入などよしなに
494デフォルトの名無しさん
2021/04/28(水) 19:02:11.38ID:snsrMSzN csplitで2回割って3つに、真ん中を捨てcatを想定したが、regexで割れるので<marker>...</marker>を指定して一回で割った方が素直かもしらん
ファイル内に複数回マークアップが現れる時も、マークアップ+1個に割れるのでスケーラブル
ファイル内に複数回マークアップが現れる時も、マークアップ+1個に割れるのでスケーラブル
495デフォルトの名無しさん
2021/04/28(水) 19:11:21.62ID:xybfukyI ファイルに複数回現れるのは想定してませんでしたが
その場合は全部置き換えたいです
中間ファイルを作るのは一時的であっても
想定してないファイルができるので避けたいです
その場合は全部置き換えたいです
中間ファイルを作るのは一時的であっても
想定してないファイルができるので避けたいです
496デフォルトの名無しさん
2021/04/28(水) 19:14:50.05ID:mi6bhbk3497デフォルトの名無しさん
2021/04/28(水) 19:19:23.15ID:snsrMSzN じゃあsedとかでいいんじゃね、行志向だとフラグ立てる必要があるので面倒だから、一時的にtrで改行を変な文字に置換して一行扱いすると楽
複数回マークアップするなら、非貪欲マッチの為に終わりマーカーを^指定するのを忘れないでね、念の為
複数回マークアップするなら、非貪欲マッチの為に終わりマーカーを^指定するのを忘れないでね、念の為
498デフォルトの名無しさん
2021/04/28(水) 19:22:31.94ID:snsrMSzN >>496
素直な質問者かと思ったらこんなレスしてんのなあ…
素直な質問者かと思ったらこんなレスしてんのなあ…
499デフォルトの名無しさん
2021/04/30(金) 02:47:41.34ID:UkwhHCBd >>497
オプション--null-dataをつけたらええやん?
オプション--null-dataをつけたらええやん?
500デフォルトの名無しさん
2021/05/01(土) 16:16:25.77ID:R5WysE71 今日の発見
何気なく LANG=C の状態で man ping をやったら日本語マニュアルでは出て来なかった -a を発見。
しかし、 "Audible ping. " ってなんだろうと思い、 -a を付けて ping をやってみるが -a なしと違いはない。
何だろうと散々悩んでまさか本当に音が出るのではと思い、ヘッドホンを指して聞いてみたら BEEP 音が出ていた。
(端末に Ctrl+G の出力しているだけの模様)。
これは普通の状態で音が出るようになってないと使えない(というか分からない)機能だな。
ていうか、この機能って需要あるのか? どういう時に使うんだ? (耳は聞こえるけど目が見えない人向け?)
何気なく LANG=C の状態で man ping をやったら日本語マニュアルでは出て来なかった -a を発見。
しかし、 "Audible ping. " ってなんだろうと思い、 -a を付けて ping をやってみるが -a なしと違いはない。
何だろうと散々悩んでまさか本当に音が出るのではと思い、ヘッドホンを指して聞いてみたら BEEP 音が出ていた。
(端末に Ctrl+G の出力しているだけの模様)。
これは普通の状態で音が出るようになってないと使えない(というか分からない)機能だな。
ていうか、この機能って需要あるのか? どういう時に使うんだ? (耳は聞こえるけど目が見えない人向け?)
501デフォルトの名無しさん
2021/05/01(土) 16:29:28.92ID:djtwQ/hU システム言語英語にしてるから気づかなかった
502デフォルトの名無しさん
2021/05/01(土) 16:33:54.50ID:8vBq+4lu 目が見えないなら読み上げとか使うだろうし
ただのユーモアのような気がする
ただのユーモアのような気がする
503デフォルトの名無しさん
2021/05/01(土) 17:12:17.40ID:/E4OYG0J >>500
https://lab.kuas.ac.jp/~ippei94da/unixtodaystips/index.html#%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AE%E5%B0%8E%E9%80%9A%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF
まあ、本気でやるならスクリプトを書くところやけど、ちょろっと待ったり確認したりするだけなら?
https://lab.kuas.ac.jp/~ippei94da/unixtodaystips/index.html#%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AE%E5%B0%8E%E9%80%9A%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF
まあ、本気でやるならスクリプトを書くところやけど、ちょろっと待ったり確認したりするだけなら?
504デフォルトの名無しさん
2021/05/01(土) 17:24:56.48ID:qPtffzbe まあBEEPだと鳴るにしても、あんまり便利じゃないから、bellってスクリプトつくって、mpg123で小さなサウンドファイル鳴らしてたなーw
時間のかかる処理動かすときに、;bellとかやってたわw
時間のかかる処理動かすときに、;bellとかやってたわw
505デフォルトの名無しさん
2021/05/01(土) 20:54:25.86ID:mMPVMQKF >>500
日本語マニュアルは古いからな
Ubuntu 20.04のbashのマニュアルなんか
英語版は当然bashのバージョンと同じ5.0(2018年)のマニュアルが入ってるが
日本語版だと4.2(2010年)のやつだからな
あとpingに音がなる機能は便利だぞ
pingで音を鳴らしながら断線チェックするんだよ
断線しかかってるケーブルがあれば触った時に音がなったり止まったりするだろ
一人がディスプレイの前にいて「あ!そのケーブル触ったときに繋がりました!」
なんて叫ぶ必要がなくなるから、一人でも作業できる
日本語マニュアルは古いからな
Ubuntu 20.04のbashのマニュアルなんか
英語版は当然bashのバージョンと同じ5.0(2018年)のマニュアルが入ってるが
日本語版だと4.2(2010年)のやつだからな
あとpingに音がなる機能は便利だぞ
pingで音を鳴らしながら断線チェックするんだよ
断線しかかってるケーブルがあれば触った時に音がなったり止まったりするだろ
一人がディスプレイの前にいて「あ!そのケーブル触ったときに繋がりました!」
なんて叫ぶ必要がなくなるから、一人でも作業できる
506デフォルトの名無しさん
2021/05/01(土) 21:24:12.83ID:j1QPmhQJ507デフォルトの名無しさん
2021/05/01(土) 21:43:09.83ID:j1QPmhQJ508デフォルトの名無しさん
2021/05/01(土) 22:42:41.06ID:mMPVMQKF 軍人は卓球が好きだったんか?
509デフォルトの名無しさん
2021/05/01(土) 22:53:01.56ID:/E4OYG0J510デフォルトの名無しさん
2021/05/01(土) 22:56:49.66ID:oDxNWiQE 軍関係者、それも技術者研究者ならそんなナワバリとか無いんじゃね
陸軍でも海軍のそういうのは知ってはいるだろう一般知識的な
事故死で亡くなってるのね。世界的貢献度が高いし有名だから残してもいるのかな
陸軍でも海軍のそういうのは知ってはいるだろう一般知識的な
事故死で亡くなってるのね。世界的貢献度が高いし有名だから残してもいるのかな
511デフォルトの名無しさん
2021/05/01(土) 22:59:35.67ID:oDxNWiQE512デフォルトの名無しさん
2021/05/02(日) 00:08:11.78ID:r2Ed4Ypi513デフォルトの名無しさん
2021/05/02(日) 00:20:14.06ID:AuvpVVY/514デフォルトの名無しさん
2021/05/02(日) 01:01:49.26ID:AuvpVVY/ BSD系のpingは応答があるとき鳴るのとないとき鳴るのと2つオプションがある。
515デフォルトの名無しさん
2021/05/09(日) 03:33:23.42ID:DzKdtz/a ほんとこの人酷いわ。関わりたくないからここで書くけど
バカにされてる事にも気づかないでしゃしゃり出てきてこのセリフ
https://twitter.com/col_richie/status/1390912236181364737
> 何を隠そう私こそPOSIX原理主義者。
>
> 「藪医者」の語源(の一説)が面白いので紹介しておきたい。
>
> 藪医者とは、高価な薬が買えずに藪から薬草に使えそうな草を見繕って患者に与えていた医者のことだという。
>
> つまり適当にライブラリーを拾って解決を図るプログラマーは藪医者同然ということになる。
じゃあ藪医者ではない凄腕の医者は自分で薬を作ってるのか?
お前だって自分で作らずにPOSIXコマンドを使って解決してるだけだろ
他人の成果を利用してるだけのくせに自分で何も作らずに主義だけでマウント取ろうとするな
藪医者の語源を自分の主義を正当化するために曲解して利用するな
まさにPOSIX"原理"主義者だと思うわ
https://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%AA%E3%82%B9%E3%83%88%E6%95%99%E5%8E%9F%E7%90%86%E4%B8%BB%E7%BE%A9
> キリスト教原理主義(キリストきょうげんりしゅぎ、英語: Christian fundamentalism)とは、
> 特にアメリカ合衆国で聖書の教えを硬直的、新興宗教的に歪曲するキリスト教右派、キリスト教根本主義、
> キリスト教会とその教派に向けて使用される。非難、侮蔑の意味合いを持って使用される場合も多い。
https://twitter.com/takapon_jp/status/9068335656
> 原理主義者はやはりイスラム原理主義者も捕鯨反対原理主義者も
> 正義原理主義者の検察もみんな頑固だから、
> 色んな曲解をしながら原理主義の姿勢を崩さない。
> だからこその原理主義者なんだろうが。。。というわけでもう、寝る。
お前が言う交換可能性とかPOSIXでは一切言われていない
POSIXの教えとは無関係なのにPOSIX原理主義者
POSIXという言葉と成果を利用してるだけ
https://twitter.com/5chan_nel (5ch newer account)
バカにされてる事にも気づかないでしゃしゃり出てきてこのセリフ
https://twitter.com/col_richie/status/1390912236181364737
> 何を隠そう私こそPOSIX原理主義者。
>
> 「藪医者」の語源(の一説)が面白いので紹介しておきたい。
>
> 藪医者とは、高価な薬が買えずに藪から薬草に使えそうな草を見繕って患者に与えていた医者のことだという。
>
> つまり適当にライブラリーを拾って解決を図るプログラマーは藪医者同然ということになる。
じゃあ藪医者ではない凄腕の医者は自分で薬を作ってるのか?
お前だって自分で作らずにPOSIXコマンドを使って解決してるだけだろ
他人の成果を利用してるだけのくせに自分で何も作らずに主義だけでマウント取ろうとするな
藪医者の語源を自分の主義を正当化するために曲解して利用するな
まさにPOSIX"原理"主義者だと思うわ
https://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%AA%E3%82%B9%E3%83%88%E6%95%99%E5%8E%9F%E7%90%86%E4%B8%BB%E7%BE%A9
> キリスト教原理主義(キリストきょうげんりしゅぎ、英語: Christian fundamentalism)とは、
> 特にアメリカ合衆国で聖書の教えを硬直的、新興宗教的に歪曲するキリスト教右派、キリスト教根本主義、
> キリスト教会とその教派に向けて使用される。非難、侮蔑の意味合いを持って使用される場合も多い。
https://twitter.com/takapon_jp/status/9068335656
> 原理主義者はやはりイスラム原理主義者も捕鯨反対原理主義者も
> 正義原理主義者の検察もみんな頑固だから、
> 色んな曲解をしながら原理主義の姿勢を崩さない。
> だからこその原理主義者なんだろうが。。。というわけでもう、寝る。
お前が言う交換可能性とかPOSIXでは一切言われていない
POSIXの教えとは無関係なのにPOSIX原理主義者
POSIXという言葉と成果を利用してるだけ
https://twitter.com/5chan_nel (5ch newer account)
516デフォルトの名無しさん
2021/05/09(日) 18:41:45.38ID:SrZZvaGV チラシの裏に書くのがおすすめだよ
517デフォルトの名無しさん
2021/05/09(日) 18:46:46.40ID:POHrmQr6 だな
普段あんなの視界外なのからは何宣伝してんのとも思えなくもない
普段あんなの視界外なのからは何宣伝してんのとも思えなくもない
518デフォルトの名無しさん
2021/05/09(日) 18:58:58.35ID:QngfRO5p やぶ医者 語源 でぐぐったら一番最初にこれが出てきてワロタw
https://www.kanken.or.jp/kanken/kankantown/trivia/trivia2.html
治療や診断が下手な医者を「藪医者」と言うが、草木が生い茂った「藪」とは直接関係なく、
もともとは「野巫(やぶ)」と書いたとされている。
「野巫」とは、まじないを使ったあやしげな治療しかできない田舎の医者のこと。
https://www.kanken.or.jp/kanken/kankantown/trivia/trivia2.html
治療や診断が下手な医者を「藪医者」と言うが、草木が生い茂った「藪」とは直接関係なく、
もともとは「野巫(やぶ)」と書いたとされている。
「野巫」とは、まじないを使ったあやしげな治療しかできない田舎の医者のこと。
519デフォルトの名無しさん
2021/05/10(月) 02:23:04.02ID:PuMIN21M POSIX原理主義ももう終わりかねぇ
ネタとしては面白かったよ
ネタとしては面白かったよ
520デフォルトの名無しさん
2021/05/10(月) 09:00:19.42ID:m/v6xXVY 例えば微細化技術で消費電力半分になるんだがそのまま消費電力
半分にするかそれともトランジスタ2倍積むかって言われたら
今だったら(dashが必須だったような)組み込み用チップでも
後者をとってWebなりWifiの機能つけてメモリも潤沢になってる
だろうしなあ
半分にするかそれともトランジスタ2倍積むかって言われたら
今だったら(dashが必須だったような)組み込み用チップでも
後者をとってWebなりWifiの機能つけてメモリも潤沢になってる
だろうしなあ
521デフォルトの名無しさん
2021/05/10(月) 09:42:46.16ID:Qz+CRcrD522デフォルトの名無しさん
2021/05/10(月) 10:46:13.22ID:jJW0aId3 >>521
んな単純な話やないやろ。
パフォーマンス指向なら性能が高ければ高いほど売りやすいし、原価比率が小さければ下げたところでたいした儲けにならんし、結局、モノにもよるし経営判断にもよる。
つーか、何の話や?w
んな単純な話やないやろ。
パフォーマンス指向なら性能が高ければ高いほど売りやすいし、原価比率が小さければ下げたところでたいした儲けにならんし、結局、モノにもよるし経営判断にもよる。
つーか、何の話や?w
523デフォルトの名無しさん
2021/05/10(月) 14:41:26.23ID:/CC3l5IU Debianとかパフォーマンスが理由?でdashに変わったけど
今後これが将来bashに変わることってあると思う?
俺はもう無いと思うんだよね
性能的にはbashで良くなったとしても
互換性を理由にPOSIXに縛られちゃった
今後これが将来bashに変わることってあると思う?
俺はもう無いと思うんだよね
性能的にはbashで良くなったとしても
互換性を理由にPOSIXに縛られちゃった
524デフォルトの名無しさん
2021/05/10(月) 16:49:20.96ID:/CC3l5IU POSIXってそんなにいいもんかねぇ
525デフォルトの名無しさん
2021/05/10(月) 18:43:12.00ID:hErX5Z2R Ubuntuでのことがあったから
まあしょうがないってことだな、ああいうプロダクトでは
bashismもそれでわかったくらいな、いいとか言う話ではないな
その後のUbuntuでもPOSIX縛りではないからな
まあPOSIXでも書けるならPOSIX準拠にするだろうけど、ああいうプロダクトでは
まあしょうがないってことだな、ああいうプロダクトでは
bashismもそれでわかったくらいな、いいとか言う話ではないな
その後のUbuntuでもPOSIX縛りではないからな
まあPOSIXでも書けるならPOSIX準拠にするだろうけど、ああいうプロダクトでは
526デフォルトの名無しさん
2021/05/10(月) 19:19:20.01ID:jJW0aId3 Ubuntuで何があったんだっけ?
527デフォルトの名無しさん
2021/05/10(月) 19:47:37.47ID:hErX5Z2R しばらくbashだったがdashに変えた。bashのPOSIXモードで動くように書いてたのに動かないやんけっていう
bashism問題に当たった最初のそれなりのスクリプトの数があるプロダクトがUbuntuじゃないのかな
もしくはちゃんと文書化して残したプロダクトかもだが
bashism問題に当たった最初のそれなりのスクリプトの数があるプロダクトがUbuntuじゃないのかな
もしくはちゃんと文書化して残したプロダクトかもだが
528デフォルトの名無しさん
2021/05/10(月) 19:56:07.55ID:wjJJgxye 必要ないからだろ
bash必要ならインストール
bash必要ならインストール
529デフォルトの名無しさん
2021/05/10(月) 19:58:31.16ID:hErX5Z2R GNU/Linuxだからログインシェル用には必ず入っていそうだが
530デフォルトの名無しさん
2021/05/10(月) 20:11:08.73ID:hErX5Z2R531デフォルトの名無しさん
2021/05/10(月) 20:19:30.27ID:aEtJHiO8 /bin/shがdashへのリンクになってるだけ
UbuntuでもDebianでもデフォルトのログインシェルはbash
上でも言われてる通りbashなりの拡張機能を使いたいならシバンをちゃんと設定すればいい話でしょ
UbuntuでもDebianでもデフォルトのログインシェルはbash
上でも言われてる通りbashなりの拡張機能を使いたいならシバンをちゃんと設定すればいい話でしょ
532デフォルトの名無しさん
2021/05/10(月) 20:29:43.61ID:hErX5Z2R なってるだけが起因なんだがな
というより、bashもなってるだけでもあったろうが、GNUは変なとこで拘るからなあ。素直にPOSIXモードならPOSIX準拠にしていればいいようなもんなのに
なんか他のPOSIXのことでもオレオレの主張は曲げない独自にやるんだというのはあったな
GNU/Linuxはログインシェルはどのディストリでもbashだろうな
変わったディストリはあるかもしれないが
FreeBSDはtcsh、OpenBSDはkshみたいだな。macOSはzshか。BSD系は色々(歴史的に)ありそうだな
というより、bashもなってるだけでもあったろうが、GNUは変なとこで拘るからなあ。素直にPOSIXモードならPOSIX準拠にしていればいいようなもんなのに
なんか他のPOSIXのことでもオレオレの主張は曲げない独自にやるんだというのはあったな
GNU/Linuxはログインシェルはどのディストリでもbashだろうな
変わったディストリはあるかもしれないが
FreeBSDはtcsh、OpenBSDはkshみたいだな。macOSはzshか。BSD系は色々(歴史的に)ありそうだな
533デフォルトの名無しさん
2021/05/11(火) 00:12:44.56ID:1enRFFJU534デフォルトの名無しさん
2021/05/11(火) 07:58:52.53ID:FhvqefgH トレースしてるだけ
535デフォルトの名無しさん
2021/05/11(火) 12:39:30.70ID:PU80Jyjy 極論だが古典的なシステムでは /bin/sh は POSIX 準拠でさえないんだから
POSIX 準拠厨はシェバンに #!/bin/dash って書くべき
POSIX 準拠厨はシェバンに #!/bin/dash って書くべき
536デフォルトの名無しさん
2021/05/11(火) 12:44:51.27ID:1enRFFJU >>535
POSIX準拠厨はPOSIXに準拠するなっていってんの?
POSIX準拠厨はPOSIXに準拠するなっていってんの?
537デフォルトの名無しさん
2021/05/11(火) 13:12:35.75ID:ZJle8Vfo dash用スクリプトを書くのにbashのデバッグ機能は必須(というほど大したもんでもないが…)
538デフォルトの名無しさん
2021/05/11(火) 13:27:42.49ID:rqNaE/tz >>535
今時の /bin/sh の最低限度がPOSIXなんだよ
POSIX以前の /bin/sh が現役(古いどころではないOSを無理に今でも使ってるではなく、現代的なOSでという意味での)なのはどこにあるの?
今時の /bin/sh の最低限度がPOSIXなんだよ
POSIX以前の /bin/sh が現役(古いどころではないOSを無理に今でも使ってるではなく、現代的なOSでという意味での)なのはどこにあるの?
539デフォルトの名無しさん
2021/05/11(火) 14:27:39.20ID:nf224V10 dashならPOSIX準拠、と信じてしまうのも、経緯的によろしくなさそうやけどなあ。
もうbashでもdashでも、#!に明記したほうがマシやろ。
あとから検索もしやすいし。
もうbashでもdashでも、#!に明記したほうがマシやろ。
あとから検索もしやすいし。
540デフォルトの名無しさん
2021/05/11(火) 17:39:06.11ID:kzU/MSxe ただの難癖
そして明記しない意味も無視かよ
そして明記しない意味も無視かよ
541デフォルトの名無しさん
2021/05/12(水) 00:28:01.49ID:w4TAZAbA >>539
スクリプトはPOSIXに準拠しており
POSIXシェルで動かすことを想定しているのだから
#!/bin/sh でいいだろ
実際に動かすシェルのことは知らん。そんなもん使う環境次第だろ。
スクリプトをmacOSにインストールするか、Debianにインストールするか、
その他のUNIXにインストールするか、そんなこと開発者が知ることなんてできない。
スクリプトがPOSIXシェルと言うだけの話。
スクリプトはPOSIXに準拠しており
POSIXシェルで動かすことを想定しているのだから
#!/bin/sh でいいだろ
実際に動かすシェルのことは知らん。そんなもん使う環境次第だろ。
スクリプトをmacOSにインストールするか、Debianにインストールするか、
その他のUNIXにインストールするか、そんなこと開発者が知ることなんてできない。
スクリプトがPOSIXシェルと言うだけの話。
542デフォルトの名無しさん
2021/05/12(水) 00:34:31.14ID:1N3VwigT >>538
bash じゃなくて dash を使わざるを得ないような極小環境で現役なものはどこにあるの?
正直 bash 拡張使って簡潔に書いたほうがRAMもROM/Storageも少ないんじゃないかと
さえ勘繰ってるわ
bash じゃなくて dash を使わざるを得ないような極小環境で現役なものはどこにあるの?
正直 bash 拡張使って簡潔に書いたほうがRAMもROM/Storageも少ないんじゃないかと
さえ勘繰ってるわ
543デフォルトの名無しさん
2021/05/12(水) 00:39:55.66ID:w4TAZAbA >>542
メモリやストレージを気にするならBusyBox一択
必然的に使うシェルはBusyBoxに内蔵されてるash
Alpine Linuxのbusyboxは 805.6KB
この中にシェルだけではなくcpやrmやawkなどの
よく使うコマンドが大量に詰め込まれてる
メモリやストレージを気にするならBusyBox一択
必然的に使うシェルはBusyBoxに内蔵されてるash
Alpine Linuxのbusyboxは 805.6KB
この中にシェルだけではなくcpやrmやawkなどの
よく使うコマンドが大量に詰め込まれてる
544デフォルトの名無しさん
2021/05/12(水) 00:44:00.91ID:w4TAZAbA Alpineのbashは742.3k、dashは106.3kだな
それからdashを使うのは環境が極小だからと言うよりも
bashがPOSIXに準拠してないからだ
それからdashを使うのは環境が極小だからと言うよりも
bashがPOSIXに準拠してないからだ
545デフォルトの名無しさん
2021/05/12(水) 00:46:26.43ID:w4TAZAbA 極小環境で現役なもの = 組み込み
546デフォルトの名無しさん
2021/05/12(水) 00:46:28.75ID:1N3VwigT >>541
/bin/sh が POSIX 準拠していない bash の環境もあるんだから
POSIX 準拠を期待しているならシェバンは #!/bin/sh と書くべきじゃない
既に /bin/sh が bash 期待のスクリプトも大量に出回っているから
/bin/sh から bash を追い出すのも現実的じゃない
つまりシェバンに #!/bin/sh って書く、イコール bash でも dash でも
動くなんかよくわからない基準でスクリプト書きますよって宣言している
ようなもんなんだから、そんな曖昧な宣言するぐらいならシェバンに
bash だの dash だの書いた方がいいんじゃないか?
/bin/sh が POSIX 準拠していない bash の環境もあるんだから
POSIX 準拠を期待しているならシェバンは #!/bin/sh と書くべきじゃない
既に /bin/sh が bash 期待のスクリプトも大量に出回っているから
/bin/sh から bash を追い出すのも現実的じゃない
つまりシェバンに #!/bin/sh って書く、イコール bash でも dash でも
動くなんかよくわからない基準でスクリプト書きますよって宣言している
ようなもんなんだから、そんな曖昧な宣言するぐらいならシェバンに
bash だの dash だの書いた方がいいんじゃないか?
547デフォルトの名無しさん
2021/05/12(水) 00:47:51.03ID:w4TAZAbA548デフォルトの名無しさん
2021/05/12(水) 00:48:09.14ID:w4TAZAbA #!/bin/sh はシェルスクリプトに書くものだってわかってる?
549デフォルトの名無しさん
2021/05/12(水) 00:49:26.60ID:w4TAZAbA POSIXシェルで書いてる人は、dashで動かすなんて想定してないからなw
550デフォルトの名無しさん
2021/05/12(水) 00:50:03.00ID:1N3VwigT >>545
いや、今どき組込システムで bash じゃなくて dash 使わざるを得ない程メモリが
逼迫しているか?って話よ
それに busybox だけ使うならそれでいいんだけどセットで使うアプリのスクリプトが
bash 依存だったりして結局 bash もイメージに組み込まざるをえないとかあり得る
(といういかあった)話なわけで
いや、今どき組込システムで bash じゃなくて dash 使わざるを得ない程メモリが
逼迫しているか?って話よ
それに busybox だけ使うならそれでいいんだけどセットで使うアプリのスクリプトが
bash 依存だったりして結局 bash もイメージに組み込まざるをえないとかあり得る
(といういかあった)話なわけで
551デフォルトの名無しさん
2021/05/12(水) 00:53:13.25ID:w4TAZAbA552デフォルトの名無しさん
2021/05/12(水) 01:00:08.38ID:1N3VwigT553デフォルトの名無しさん
2021/05/12(水) 01:01:55.36ID:w4TAZAbA 今からひっくり返せる戦況ってなんのこと?
すでに/bin/shがdashまたはashである環境が最多になってしまったから
脱bashの流れは止まらないって話?
すでに/bin/shがdashまたはashである環境が最多になってしまったから
脱bashの流れは止まらないって話?
554デフォルトの名無しさん
2021/05/12(水) 01:04:16.31ID:1N3VwigT555デフォルトの名無しさん
2021/05/12(水) 01:04:53.84ID:w4TAZAbA bashに限定したらダメでしょ?
dash/ashでは動かないんだから
dash/ashでは動かないんだから
556デフォルトの名無しさん
2021/05/12(水) 01:06:24.03ID:w4TAZAbA dash/ash用(つまりPOSIXシェル)で書けばbashでも動くが
bashの非POSIXシェル機能を使ったら、dash/ashで動かないってわかってますか?
bashの非POSIXシェル機能を使ったら、dash/ashで動かないってわかってますか?
557デフォルトの名無しさん
2021/05/12(水) 01:08:44.46ID:1N3VwigT >>553
いや bash 依存の #!/bin/sh なファイルがはびこっていてそれを駆逐できないって話なんだが
いや bash 依存の #!/bin/sh なファイルがはびこっていてそれを駆逐できないって話なんだが
558デフォルトの名無しさん
2021/05/12(水) 01:09:59.32ID:OO1NJlSc 本当すぐPOSIXの話題になるよな
559デフォルトの名無しさん
2021/05/12(水) 01:10:52.06ID:w4TAZAbA >>557
それはbash依存が問題なのではなくそのファイルが
メンテされてないっていうのが問題なだけ
そのファイルをメンテすればいい
メンテされてるなら
#!/bin/sh を #!/bin/bashに変更するだけ
それはbash依存が問題なのではなくそのファイルが
メンテされてないっていうのが問題なだけ
そのファイルをメンテすればいい
メンテされてるなら
#!/bin/sh を #!/bin/bashに変更するだけ
560デフォルトの名無しさん
2021/05/12(水) 01:11:51.40ID:w4TAZAbA561デフォルトの名無しさん
2021/05/12(水) 01:26:23.80ID:1N3VwigT >>556
君は(坊主憎けりゃ袈裟まで憎い的な) bashism 死すべしが強すぎて話がそれ過ぎるきらいがあるな
bash 依存のシェバンは #!/bin/bash って書くのは当然
#!/bin/sh は何に向けてるかわからんから #!/bin/dash って明示しようぜって話だぞ?
君は(坊主憎けりゃ袈裟まで憎い的な) bashism 死すべしが強すぎて話がそれ過ぎるきらいがあるな
bash 依存のシェバンは #!/bin/bash って書くのは当然
#!/bin/sh は何に向けてるかわからんから #!/bin/dash って明示しようぜって話だぞ?
562デフォルトの名無しさん
2021/05/12(水) 01:27:46.42ID:w4TAZAbA > #!/bin/sh は何に向けてるかわからんから
何に向けてるってPOSIXシェル全てだろ。何を言ってるんだ?
互換性がないならそれはそのシェルのバグであって
スクリプトの問題じゃない
何に向けてるってPOSIXシェル全てだろ。何を言ってるんだ?
互換性がないならそれはそのシェルのバグであって
スクリプトの問題じゃない
563デフォルトの名無しさん
2021/05/12(水) 01:28:10.36ID:w4TAZAbA #!/bin/dashだったらdash限定になるじゃん
アホなのかな?
アホなのかな?
564デフォルトの名無しさん
2021/05/12(水) 01:36:50.63ID:1N3VwigT565デフォルトの名無しさん
2021/05/12(水) 01:40:11.91ID:1N3VwigT >>562
> 何に向けてるってPOSIXシェル全てだろ。何を言ってるんだ?
だからそこに bash 拡張必須な困ったちゃんが混在してて排除しきれない
から POSIX シェルとは言い切れないってさっきから説明してんだろ
> 何に向けてるってPOSIXシェル全てだろ。何を言ってるんだ?
だからそこに bash 拡張必須な困ったちゃんが混在してて排除しきれない
から POSIX シェルとは言い切れないってさっきから説明してんだろ
566デフォルトの名無しさん
2021/05/12(水) 01:40:52.17ID:w4TAZAbA567デフォルトの名無しさん
2021/05/12(水) 01:42:05.81ID:w4TAZAbA568デフォルトの名無しさん
2021/05/12(水) 01:46:16.80ID:w4TAZAbA 私はこのスクリプトをPOSIXシェル用のコードで書いた
ちゃんと他のシェルで動くこともテストした
だから全てのPOSIXシェルで動作する
なので#!/bin/shにするのである
しかし私の中のもう一人の自分がdashでしか動かないかもしれないから
#!/bin/dashにしろというのである
なんて言う話だったら、頭がおかしいとしか思えないw
ちゃんと他のシェルで動くこともテストした
だから全てのPOSIXシェルで動作する
なので#!/bin/shにするのである
しかし私の中のもう一人の自分がdashでしか動かないかもしれないから
#!/bin/dashにしろというのである
なんて言う話だったら、頭がおかしいとしか思えないw
569デフォルトの名無しさん
2021/05/12(水) 02:04:49.76ID:w4TAZAbA つーかashとdashってほぼ同じでしょ?ashで動作してdashで動作しないことなんてあるの?
あるならdashで動作確認しろってところは変わらんがな
あるならdashで動作確認しろってところは変わらんがな
570デフォルトの名無しさん
2021/05/12(水) 02:05:08.70ID:VEm96Egx 理想主義者 vs 現実主義者
完全主義者 vs 悲観主義者
POSIX主義者 vs こだわらない派
落としどころはないな。。。
完全主義者 vs 悲観主義者
POSIX主義者 vs こだわらない派
落としどころはないな。。。
571デフォルトの名無しさん
2021/05/12(水) 02:10:51.35ID:w4TAZAbA POSIXに準拠したコードであれば/bin/shで動くんだから
#!/bin/shにすればいいってだけなんだがな
#!/bin/shにすればいいってだけなんだがな
572デフォルトの名無しさん
2021/05/12(水) 02:11:51.69ID:w4TAZAbA もちろんそれがdashでしか動かないって言うなら#!/bin/dashにするべきだがな
どのPOSIXシェルでも動くなら#!/bin/shでいい
どのPOSIXシェルでも動くなら#!/bin/shでいい
573デフォルトの名無しさん
2021/05/12(水) 02:28:43.75ID:qBxmR+eO ID:1N3VwigT
DebianやUbuntuで書いてあることを読んで出直せ
何もわかってないで自分が思うでしか言ってないだろう
DebianやUbuntuで書いてあることを読んで出直せ
何もわかってないで自分が思うでしか言ってないだろう
574デフォルトの名無しさん
2021/05/12(水) 02:30:20.07ID:qBxmR+eO >>570
DebianやUbuntuで書いてることはそんな対立を生まない至極もっともなことを書いてあるんだがな
DebianやUbuntuで書いてることはそんな対立を生まない至極もっともなことを書いてあるんだがな
575デフォルトの名無しさん
2021/05/12(水) 02:58:36.12ID:w4TAZAbA >>573
読んで出直したが何も変わらない。
お前がやってるその行為は
「DebianやUbuntuで書いてることを読んだら俺が正しいことが証明された。はい論破」
と言ってるのと何も変わらない
論破合戦がしたいなら、お前が書いてることを引用して
お前が言いたいことを主張しろ
読んで出直したが何も変わらない。
お前がやってるその行為は
「DebianやUbuntuで書いてることを読んだら俺が正しいことが証明された。はい論破」
と言ってるのと何も変わらない
論破合戦がしたいなら、お前が書いてることを引用して
お前が言いたいことを主張しろ
576デフォルトの名無しさん
2021/05/12(水) 02:59:27.57ID:w4TAZAbA >>574
DebianやUbuntuには#!/bin/shを#!/bin/dashにしろとは書かれていない
DebianやUbuntuには#!/bin/shを#!/bin/dashにしろとは書かれていない
577デフォルトの名無しさん
2021/05/12(水) 03:00:17.09ID:w4TAZAbA あ、俺に言われてるのと勘違いしたwww
ID:1N3VwigTに言ってるのか
ID:1N3VwigTに言ってるのか
578デフォルトの名無しさん
2021/05/12(水) 03:01:24.77ID:QztuhdBY お前に言ってねーよ
読めないいつものお前だろ?流石だな
わざと絡まないようにしてたのにwほんとお前はただただめんどくせえやつだな
読めないいつものお前だろ?流石だな
わざと絡まないようにしてたのにwほんとお前はただただめんどくせえやつだな
579デフォルトの名無しさん
2021/05/12(水) 03:02:31.85ID:QztuhdBY トンチンカンなことを並べてるしwww俺はそんなこと言ってねえのに
つくづくお前ってやつはただただただただめんどくさいだけのやつだなあ
つくづくお前ってやつはただただただただめんどくさいだけのやつだなあ
580デフォルトの名無しさん
2021/05/12(水) 03:14:44.73ID:QztuhdBY アホはほっておいて、まためんどくさいから最初と最後のへ
>>542
>dash を使わざるを得ないような極小環境
イミフ
/bin/sh が dash なLinuxディストリは普通にあるし。なんでそんな環境をと言い出すのかイミフすぎ
>>565
/bin/sh が POSIX shell であることが期待されているのは昔からだろう。どのくらい昔かは知らんがw
fileで #!/bin/sh なファイルがなんて出るか見てみ。fileのデータベースは公衆でメンテされていてのでソレなんだから大多数がそれを期待しているのは間違いないだろう
bashismなのが逸脱してるのとは別の話。bashismな #!/bin/sh は #!/bin/sh とするのは間違いだから #!/bin/bash に正しなさいというのが現在
あとdashにもなんかトンチンカンな難癖付けてるようだが、bashismと問題にしてるDebianがPOSIXから逸脱不足してるものを作るわけがないというのは常識的にわかるだろうにという
まあ、DebianやUbuntuで書いてあることを読んで出直せw
>>542
>dash を使わざるを得ないような極小環境
イミフ
/bin/sh が dash なLinuxディストリは普通にあるし。なんでそんな環境をと言い出すのかイミフすぎ
>>565
/bin/sh が POSIX shell であることが期待されているのは昔からだろう。どのくらい昔かは知らんがw
fileで #!/bin/sh なファイルがなんて出るか見てみ。fileのデータベースは公衆でメンテされていてのでソレなんだから大多数がそれを期待しているのは間違いないだろう
bashismなのが逸脱してるのとは別の話。bashismな #!/bin/sh は #!/bin/sh とするのは間違いだから #!/bin/bash に正しなさいというのが現在
あとdashにもなんかトンチンカンな難癖付けてるようだが、bashismと問題にしてるDebianがPOSIXから逸脱不足してるものを作るわけがないというのは常識的にわかるだろうにという
まあ、DebianやUbuntuで書いてあることを読んで出直せw
581デフォルトの名無しさん
2021/05/12(水) 03:18:24.36ID:rVJ0Zld2 > bashismな #!/bin/sh は #!/bin/sh とするのは間違いだから #!/bin/bash に正しなさいというのが現在
その理屈だと dashism な#!/bin/shは#!/bin/dashにしなさいってことになるだろw
その理屈だと dashism な#!/bin/shは#!/bin/dashにしなさいってことになるだろw
582デフォルトの名無しさん
2021/05/12(水) 03:20:25.42ID:QztuhdBY >>581
アホなレスすんなよwわざとだろ?w
アホなレスすんなよwわざとだろ?w
583デフォルトの名無しさん
2021/05/12(水) 03:22:04.92ID:rVJ0Zld2 はぁ?localとかPOSIXにないんだからdashismだろwww
584デフォルトの名無しさん
2021/05/12(水) 03:38:40.82ID:QztuhdBY バグじゃなのw ashのが残ってるとか
そういうのはdashismだからもちろん #!/bin/dash にすべきだろうな
そんなの使わないのが多いから見過ごされていても不思議ではないかな
他にもあるんだったらDebianに持って行った方がいいぞ。自ら ism を否定してるとこなんだから
そういうのはdashismだからもちろん #!/bin/dash にすべきだろうな
そんなの使わないのが多いから見過ごされていても不思議ではないかな
他にもあるんだったらDebianに持って行った方がいいぞ。自ら ism を否定してるとこなんだから
585デフォルトの名無しさん
2021/05/12(水) 03:54:18.34ID:QztuhdBY いや、Debianの明確な仕様だな。どこぞのスクリプトでも使ってるのほぼ見たことないから>>584って言ったけど、すまん
Debianがシェルスクリプト仕様として、POSIXから拡張した数少ない(5つ)うちの一つだな
その5つをあえて使うなら #!/bin/dash の方がいいかもね。Debianではその5つを使うなら #!/bin/sh でもいいとは言ってるけど(他のシェルでも対応してるからとかかな??)
Debianがシェルスクリプト仕様として、POSIXから拡張した数少ない(5つ)うちの一つだな
その5つをあえて使うなら #!/bin/dash の方がいいかもね。Debianではその5つを使うなら #!/bin/sh でもいいとは言ってるけど(他のシェルでも対応してるからとかかな??)
586デフォルトの名無しさん
2021/05/12(水) 08:14:16.52ID:rVJ0Zld2 dashismは5つもあるのかよw
じゃあだめだな。#!/bin/dashにしないといかんなwww
じゃあだめだな。#!/bin/dashにしないといかんなwww
587デフォルトの名無しさん
2021/05/12(水) 09:46:38.57ID:1N3VwigT >>580
> イミフ
> /bin/sh が dash なLinuxディストリは普通にあるし。なんでそんな環境をと言い出すのかイミフすぎ
その返しならイミフだろうなぁ
bash さえも入れたくない/Busyboxだけで極力少ないRAM/ROMで動作させる環境であって
PCやサーバではないよ
RAM が限られている環境だと1つでも bash スクリプトがあると dash と bash 両方で RAM を食って
しまうから、それならば /bin/sh を bash にしてしまった方がまだ軽いってなってしまう
そうなってくると「bash で書きたい人はシェバンに #!/bin/bash って書けば良いじゃん」で済まないわけ
で全部 dash 互換で書く必要がでてくる
シェバンに #!/bin/sh って書いてある他人が書いたスクリプトが bash 互換なのか dash 互換なのか
明示されていない以上、#!/bin/sh=dash 環境に移植する場合は書き直すか動作検証する必要がある
動作検証が終わったら #!/bin/dash って書きかえないと、そのファイルを引き継いだ人がまた
同じ作業を繰り返すことになるって考えよ
> イミフ
> /bin/sh が dash なLinuxディストリは普通にあるし。なんでそんな環境をと言い出すのかイミフすぎ
その返しならイミフだろうなぁ
bash さえも入れたくない/Busyboxだけで極力少ないRAM/ROMで動作させる環境であって
PCやサーバではないよ
RAM が限られている環境だと1つでも bash スクリプトがあると dash と bash 両方で RAM を食って
しまうから、それならば /bin/sh を bash にしてしまった方がまだ軽いってなってしまう
そうなってくると「bash で書きたい人はシェバンに #!/bin/bash って書けば良いじゃん」で済まないわけ
で全部 dash 互換で書く必要がでてくる
シェバンに #!/bin/sh って書いてある他人が書いたスクリプトが bash 互換なのか dash 互換なのか
明示されていない以上、#!/bin/sh=dash 環境に移植する場合は書き直すか動作検証する必要がある
動作検証が終わったら #!/bin/dash って書きかえないと、そのファイルを引き継いだ人がまた
同じ作業を繰り返すことになるって考えよ
588デフォルトの名無しさん
2021/05/12(水) 11:42:09.27ID:UQubkL4X >>586
何がもわからんくせに調べもしないくせに
ismの何が問題かもわからんくせに
自分が納得できないだけかよ、能書き小僧煩い
まあお前が納得できなくてそうするんだったら勝手にしてもいいぞ、その程度のことなんだろし
何がもわからんくせに調べもしないくせに
ismの何が問題かもわからんくせに
自分が納得できないだけかよ、能書き小僧煩い
まあお前が納得できなくてそうするんだったら勝手にしてもいいぞ、その程度のことなんだろし
589デフォルトの名無しさん
2021/05/12(水) 11:49:29.28ID:UQubkL4X >>587
ん?
>極論だが古典的なシステムでは /bin/sh は POSIX 準拠でさえないんだから
に対して、
>今時の /bin/sh の最低限度がPOSIXなんだよ
に対して、
>bash じゃなくて dash を使わざるを得ないような極小環境で現役なものはどこにあるの?
だよ?流れからイミフだな
で、今度は
>bash さえも入れたくない/Busyboxだけで極力少ないRAM/ROMで動作させる環境であって
と言い出すの?イミフのイミフだぞ(その後の延々としたのもw)
現在は、/bin/sh は POSIX shell というのが大勢、dash はそれになり得るというのが大勢
違うとお前ら個々が思うのは勝手にどうぞだが、それを理解しろと他人に求めるのは筋違いだな
そんなに自説に自信があるならDebianやfileのメーリングリストで問題提起してみ?w
ん?
>極論だが古典的なシステムでは /bin/sh は POSIX 準拠でさえないんだから
に対して、
>今時の /bin/sh の最低限度がPOSIXなんだよ
に対して、
>bash じゃなくて dash を使わざるを得ないような極小環境で現役なものはどこにあるの?
だよ?流れからイミフだな
で、今度は
>bash さえも入れたくない/Busyboxだけで極力少ないRAM/ROMで動作させる環境であって
と言い出すの?イミフのイミフだぞ(その後の延々としたのもw)
現在は、/bin/sh は POSIX shell というのが大勢、dash はそれになり得るというのが大勢
違うとお前ら個々が思うのは勝手にどうぞだが、それを理解しろと他人に求めるのは筋違いだな
そんなに自説に自信があるならDebianやfileのメーリングリストで問題提起してみ?w
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★3 [BFU★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★4 [Hitzeschleier★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 [Hitzeschleier★]
- ホリエモン、「持ち家=幸せという価値観は過去のもの」と断言「快適な住まいが欲しいなら、賃貸住宅を次々に替えていく」 [muffin★]
- 【安倍晋三】中国船4隻が領海侵入 [828897501]
- 【実況】博衣こよりのえちえちスーパーダンガンロンパ3🧪
- 【画像】自分がオッサンか若者か、5秒で判断できる画像がこれらしい [977261419]
- えちえち女だけど
- 【新番組】轟はじめ🐧⚡のぶんぶんぶーん🚗💨!【🏡】
- 自民党のヒゲ「日本側の無線でcopyとは言ったが了解という意味ではない」 [834922174]
