シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
シェルスクリプト総合 その33
https://mevius.5ch.net/test/read.cgi/tech/1584893550/
探検
シェルスクリプト総合 その34
■ このスレッドは過去ログ倉庫に格納されています
2020/08/21(金) 15:17:55.64ID:mArnj/tT
180デフォルトの名無しさん
2020/09/14(月) 00:46:08.13ID:LBeWsbwt181デフォルトの名無しさん
2020/09/14(月) 01:28:26.98ID:arqUoPz9 実際に存在するLinuxの話をしましょうよw
$ docker run -it alpine
/ # perl
/bin/sh: perl: not found
/ # python
/bin/sh: python: not found
/ # pyton3
/bin/sh: pyton3: not found
/ # ruby
/bin/sh: ruby: not found
$ docker run -it alpine
/ # perl
/bin/sh: perl: not found
/ # python
/bin/sh: python: not found
/ # pyton3
/bin/sh: pyton3: not found
/ # ruby
/bin/sh: ruby: not found
182デフォルトの名無しさん
2020/09/14(月) 01:51:11.45ID:Cxw6q39C183デフォルトの名無しさん
2020/09/14(月) 01:58:31.80ID:8w1wBNml Alpine は、5MB しかない。
何も入っていない
それに、Ruby on Rails, Node.js などを入れて使うもの
何も入っていない
それに、Ruby on Rails, Node.js などを入れて使うもの
184デフォルトの名無しさん
2020/09/14(月) 02:31:04.77ID:Cxw6q39C185デフォルトの名無しさん
2020/09/14(月) 02:41:43.07ID:LBeWsbwt186デフォルトの名無しさん
2020/09/14(月) 02:43:36.81ID:LBeWsbwt コンピューターの仕組みを理解していないのにいちいち見当違いのことを書くんじゃない。
187デフォルトの名無しさん
2020/09/14(月) 09:57:03.60ID:Cxw6q39C188デフォルトの名無しさん
2020/09/14(月) 10:40:45.77ID:S/jhW9z+ Perlが入ってないLinuxがあるってこともしらんのか
189デフォルトの名無しさん
2020/09/14(月) 10:41:04.73ID:S/jhW9z+ しかも有名でよく使われてるディストリ
190デフォルトの名無しさん
2020/09/14(月) 17:25:24.86ID:LBeWsbwt 揚げ足取りは久しぶりに
191デフォルトの名無しさん
2020/09/14(月) 17:37:46.13ID:dr1ZmQsx >>178
どうしてperlかなかったら画面真っ暗で文字が打てないわけ?
どうしてperlかなかったら画面真っ暗で文字が打てないわけ?
192デフォルトの名無しさん
2020/09/15(火) 01:42:38.92ID:Yms7aROo シェルがなかったらと書いてあるだろ。
しつこいけどシェルは人間とのユーザーインタフェースだよ。
シェルがなければ人間は何もできない。
しつこいけどシェルは人間とのユーザーインタフェースだよ。
シェルがなければ人間は何もできない。
193デフォルトの名無しさん
2020/09/15(火) 01:43:33.60ID:Yms7aROo コンピューターは必ずCUIの画面があると思ってしまうのだろうか?
194デフォルトの名無しさん
2020/09/15(火) 03:10:33.47ID:0TDTec2Q 言葉遊びには意味がない。
195デフォルトの名無しさん
2020/09/15(火) 05:57:39.18ID:+pcRVQQ5 シェルはLinuxに必ずインストールされているが
Perlはインストールされてないものが実際に存在し使われている
話はこれだけだろ
Perlはインストールされてないものが実際に存在し使われている
話はこれだけだろ
196デフォルトの名無しさん
2020/09/15(火) 08:21:54.14ID:QH5y4eUt197デフォルトの名無しさん
2020/09/15(火) 11:38:13.21ID:Ru6NgLud このスレの人ってどうでもいい事になんでこんなすぐ必死になるの?
198デフォルトの名無しさん
2020/09/15(火) 13:03:13.91ID:DboEcGlM199デフォルトの名無しさん
2020/09/15(火) 13:59:53.23ID:y5g42ZKf 真面目で、相手の誤りを修正してあげたいから。
バカで、自分の誤りを認識できないから。
とか、人それぞれに理由があるやろ。
まあ、最大の理由はヒマだから。w
おまえもな。
バカで、自分の誤りを認識できないから。
とか、人それぞれに理由があるやろ。
まあ、最大の理由はヒマだから。w
おまえもな。
200デフォルトの名無しさん
2020/09/15(火) 15:48:33.27ID:Yms7aROo >>196
デフォルトというのはLinuxだったら、bashシェルがインストールされて起動するということ。PerlはLinuxの大半のインストーラが標準設定でインストールしてしまう。
デフォルトというのはLinuxだったら、bashシェルがインストールされて起動するということ。PerlはLinuxの大半のインストーラが標準設定でインストールしてしまう。
201デフォルトの名無しさん
2020/09/15(火) 16:02:10.84ID:0TDTec2Q202デフォルトの名無しさん
2020/09/15(火) 17:23:49.50ID:SdJ7XIqb >>200
bashがインストールされてない環境はあるし実際によく使われている
bashがインストールされてない環境はあるし実際によく使われている
203デフォルトの名無しさん
2020/09/15(火) 18:41:25.99ID:DboEcGlM これ何の話だっけ。
「シェルが存在せずにPerlなどが存在する環境」
と
「シェルは存在するがPerlは存在しない環境」
の比較?
いや,違うのかもしれないが,
だとするとPerlがどうとかいう話がどこから出てきたのか分からんw
「シェルが存在せずにPerlなどが存在する環境」
と
「シェルは存在するがPerlは存在しない環境」
の比較?
いや,違うのかもしれないが,
だとするとPerlがどうとかいう話がどこから出てきたのか分からんw
204デフォルトの名無しさん
2020/09/15(火) 18:52:17.80ID:SdJ7XIqb これだろ?
172 名前:デフォルトの名無しさん[] 投稿日:2020/09/13(日) 21:07:19.31 ID:Z+zAoG6v [4/5]
Linuxをインストールしたら、Perlもデフォルトでインストールされることも知らないんだろうな。
200 名前:デフォルトの名無しさん[] 投稿日:2020/09/15(火) 15:48:33.27 ID:Yms7aROo [3/3]
>>196
デフォルトというのはLinuxだったら、bashシェルがインストールされて起動するということ。
perlもbashも入ってない環境が実際にあってよく使われている
172 名前:デフォルトの名無しさん[] 投稿日:2020/09/13(日) 21:07:19.31 ID:Z+zAoG6v [4/5]
Linuxをインストールしたら、Perlもデフォルトでインストールされることも知らないんだろうな。
200 名前:デフォルトの名無しさん[] 投稿日:2020/09/15(火) 15:48:33.27 ID:Yms7aROo [3/3]
>>196
デフォルトというのはLinuxだったら、bashシェルがインストールされて起動するということ。
perlもbashも入ってない環境が実際にあってよく使われている
205デフォルトの名無しさん
2020/09/15(火) 19:01:42.43ID:1jncYIE/ 極論が好きな人が居るねぇ
root権限でのパッケージ導入を依頼するでもOS/ディストリビューションの選定提案をするでもVMを生やすでもコンテナを建てるでも何でも使える手は使って、自分の手段と環境の中で一番楽な地獄を使うのがいい
手を尽くしてもシェルスクリプト以外使えないか、手を尽くすのがダルいならそりゃそのままシェルスクリプトを使うしかないのはそれはそう
ただ現代においてシェルスクリプトしかスクリプト言語を使えない上に新規導入もできない案件が多数派だし普通だよって言われると本当?って思うしその立場に同情するまである
root権限でのパッケージ導入を依頼するでもOS/ディストリビューションの選定提案をするでもVMを生やすでもコンテナを建てるでも何でも使える手は使って、自分の手段と環境の中で一番楽な地獄を使うのがいい
手を尽くしてもシェルスクリプト以外使えないか、手を尽くすのがダルいならそりゃそのままシェルスクリプトを使うしかないのはそれはそう
ただ現代においてシェルスクリプトしかスクリプト言語を使えない上に新規導入もできない案件が多数派だし普通だよって言われると本当?って思うしその立場に同情するまである
206デフォルトの名無しさん
2020/09/15(火) 19:14:03.32ID:0TDTec2Q 最近はコンテナ系がはやって、ガチガチの最小構成も現実的やろ。
昔なら、とりあえずあれこれ入ってるし入れるのがふつうだったが。
昔なら、とりあえずあれこれ入ってるし入れるのがふつうだったが。
207デフォルトの名無しさん
2020/09/15(火) 20:21:38.62ID:DboEcGlM >>206
これ
これ
208デフォルトの名無しさん
2020/09/15(火) 20:36:21.55ID:Bkm+Im76 >>197
1つの道具しか使えない人や1つの道具への依存度の高い人は
その道具の必要性を下げる話や短所を指摘されると
無意識に自分の存在意義を否定された(攻撃された)と感じるので必死になる
特定の道具への精神的依存度の高い人たちが集まってる所ではよくあること
1つの道具しか使えない人や1つの道具への依存度の高い人は
その道具の必要性を下げる話や短所を指摘されると
無意識に自分の存在意義を否定された(攻撃された)と感じるので必死になる
特定の道具への精神的依存度の高い人たちが集まってる所ではよくあること
209デフォルトの名無しさん
2020/09/15(火) 20:40:12.28ID:d9JYg3Jf >>206
そういう時はGoで書いてもいいよね?
そういう時はGoで書いてもいいよね?
210デフォルトの名無しさん
2020/09/15(火) 20:49:49.54ID:st0X4sID コンテナ向け最小構成ならそれこそコンテナ生やせばいいじゃん…
211デフォルトの名無しさん
2020/09/15(火) 21:05:24.21ID:0TDTec2Q212デフォルトの名無しさん
2020/09/15(火) 21:06:37.35ID:0TDTec2Q213デフォルトの名無しさん
2020/09/15(火) 21:22:33.55ID:bVn8kGX2214デフォルトの名無しさん
2020/09/15(火) 21:23:36.57ID:bVn8kGX2 なんでもPython、なんでもPerl、なんでもGoっていうのは
単に勉強したくないだけなんだろうなって思ってる
単に勉強したくないだけなんだろうなって思ってる
215デフォルトの名無しさん
2020/09/15(火) 21:49:15.52ID:DboEcGlM Goがやろうとしてる「どこでも動く!,依存性最小!」って
それまさにPOSIXシェルが数十年前から実践してることなんだけどねw
それまさにPOSIXシェルが数十年前から実践してることなんだけどねw
216デフォルトの名無しさん
2020/09/15(火) 22:09:41.62ID:5uVwOM3u YouTube で有名な雑食系エンジニア・KENTA は、
初心者が進む道を、サーバー側言語のRuby → Go を王道としてる
この2つ以外は、出てこない
GUI 系は、画面の手直しなどで、工数がかさむ。
C#, dot.net などのWindows 系は、いらない。
Java などの土方系も、いらない。
Elixir, Rust は、普及へのchasm・溝を超えられなかった
言語よりも、Docker, Kubernetes, AWS などの、サーバー構築・新規案件を重視する。
上流工程・新規案件の方が、価格交渉力が強いから
初心者が進む道を、サーバー側言語のRuby → Go を王道としてる
この2つ以外は、出てこない
GUI 系は、画面の手直しなどで、工数がかさむ。
C#, dot.net などのWindows 系は、いらない。
Java などの土方系も、いらない。
Elixir, Rust は、普及へのchasm・溝を超えられなかった
言語よりも、Docker, Kubernetes, AWS などの、サーバー構築・新規案件を重視する。
上流工程・新規案件の方が、価格交渉力が強いから
217デフォルトの名無しさん
2020/09/15(火) 22:27:04.19ID:5aHfCmvT218デフォルトの名無しさん
2020/09/15(火) 23:33:10.49ID:Tmf/kgmE 「シェルスクリプトで書いていたもの」を他の言語に
置き換えることで楽になることなんてないと思っている
※最初からシェルスクリプトで書いてないものの話ではない
置き換えることで楽になることなんてないと思っている
※最初からシェルスクリプトで書いてないものの話ではない
219デフォルトの名無しさん
2020/09/16(水) 00:01:35.11ID:MNPDZagX220デフォルトの名無しさん
2020/09/16(水) 00:07:40.59ID:NJW1Qx1P 1. PythonやPerlが入ってない環境がある
2. シェルスクリプトで実現できる
3. PythonやPerl入れればいいじゃん!
4. PythonやPerlで書き直す
5. コードがシェルスクリプトよりも面倒になってる
ほとんどがこれ
シェルスクリプトで実現できることを
他の言語で書いたら余計面倒になる
面倒になるのに他の言語で書こうとするやつは
単に(効率的な)シェルスクリプトを勉強したくないだけ
2. シェルスクリプトで実現できる
3. PythonやPerl入れればいいじゃん!
4. PythonやPerlで書き直す
5. コードがシェルスクリプトよりも面倒になってる
ほとんどがこれ
シェルスクリプトで実現できることを
他の言語で書いたら余計面倒になる
面倒になるのに他の言語で書こうとするやつは
単に(効率的な)シェルスクリプトを勉強したくないだけ
221デフォルトの名無しさん
2020/09/16(水) 00:18:53.14ID:fQIibdhg はしゃいでるところに水を差して悪いけどシェルスクリプトに必要な心得ってなんですかね?
素人ながらとりあえず動く物は作れたけどifだらけのクッソ汚いコードなんで修正したい
オプションもgetopts知らずにifと[[でなんとかしてる
bashの基本は押さえたけどLinuxの常識までは網羅できてないんで
素人ながらとりあえず動く物は作れたけどifだらけのクッソ汚いコードなんで修正したい
オプションもgetopts知らずにifと[[でなんとかしてる
bashの基本は押さえたけどLinuxの常識までは網羅できてないんで
222デフォルトの名無しさん
2020/09/16(水) 00:26:37.24ID:NJW1Qx1P ifだらけだからクソ汚いってことにはならない
もしキレイなコードとやらを知ってるのであれば
それをシェルスクリプトでやればいいだけ
もしキレイなコードとやらを知ってるのであれば
それをシェルスクリプトでやればいいだけ
223デフォルトの名無しさん
2020/09/16(水) 00:40:05.89ID:BkyZoSl2224デフォルトの名無しさん
2020/09/16(水) 00:41:31.46ID:67D9s6fy ほんとに必死だね
よほどコンプレックスが強いんだろうな
シェルスクリプトに固執しないとダメな状況ってそうそうないだろうに
よほどコンプレックスが強いんだろうな
シェルスクリプトに固執しないとダメな状況ってそうそうないだろうに
225デフォルトの名無しさん
2020/09/16(水) 00:49:16.66ID:NJW1Qx1P シェルスクリプトに固執っていうか、シェルスクリプトが最善な場合に
シェルスクリプトを使うってだけだよね
シェルスクリプトを使うってだけだよね
226デフォルトの名無しさん
2020/09/16(水) 01:41:09.00ID:BkyZoSl2227デフォルトの名無しさん
2020/09/16(水) 02:44:08.53ID:0ZaEBr0v >>221
入門UNIXシェルプログラミングという名著を読めばよい。
入門UNIXシェルプログラミングという名著を読めばよい。
228デフォルトの名無しさん
2020/09/16(水) 02:45:36.69ID:0ZaEBr0v >>226
シェルスクリプトと、コマンド、外部プログラムの呼び出しはシェルスクリプトではないからな?
シェルスクリプトと、コマンド、外部プログラムの呼び出しはシェルスクリプトではないからな?
229デフォルトの名無しさん
2020/09/16(水) 02:48:58.69ID:0ZaEBr0v シェルのスクリプトだから、シェルスクリプトの構文だけの話をすると、このスレは過疎化すると思うぞ。
230デフォルトの名無しさん
2020/09/16(水) 06:01:38.56ID:NJW1Qx1P だからといって外部コマンドのオプションやら文法の話をしたって意味ない
そういうのはmanページ見ろで終わる話
そういうのはmanページ見ろで終わる話
231デフォルトの名無しさん
2020/09/16(水) 10:12:38.47ID:+0jueX8G シェルスクリプトにこだわることの是非はともかく,
このスレに住み着くのは理があるわけだけど,
一方でPythonやRubyに固執している人が
このスレに居座りつづける理由が不明。
このスレはシェルスクリプトのことを話すスレなんだから,
Perl,Python,Ruby,Goなんかにこだわってても
ストレス溜まるだけだと思うんだけど……。
しかも不毛だしw
このスレに住み着くのは理があるわけだけど,
一方でPythonやRubyに固執している人が
このスレに居座りつづける理由が不明。
このスレはシェルスクリプトのことを話すスレなんだから,
Perl,Python,Ruby,Goなんかにこだわってても
ストレス溜まるだけだと思うんだけど……。
しかも不毛だしw
232デフォルトの名無しさん
2020/09/16(水) 10:14:49.79ID:+0jueX8G >>229
過疎化してなにか問題あるか?
シェルスクリプトの構文で質問がある場合は
ageればいいだけだし,
技術系のスレは勢いがなくても一定数の閲覧があるんだから
それで全く問題ない。
もしかしてなんJとかその辺りと同じような考えで
「過疎化する」=「悪」みたいに捉えちゃってる?
過疎化してなにか問題あるか?
シェルスクリプトの構文で質問がある場合は
ageればいいだけだし,
技術系のスレは勢いがなくても一定数の閲覧があるんだから
それで全く問題ない。
もしかしてなんJとかその辺りと同じような考えで
「過疎化する」=「悪」みたいに捉えちゃってる?
233デフォルトの名無しさん
2020/09/16(水) 10:33:38.10ID:+Zum6F6u シェルスクリプトとPythonやRubyの使い方は全く違っていて
シェルスクリプトの代替にはならないんだよ
だってPythonやRuby言語がシェルになるかい?
そういうのもあるみたいだけど使わないだろ
lslの代わりにPythonやRubyの関数を使えってことだよ
やるかい?
シェススクリプトはそういう手作業の操作をスクリプトにまとめたもので
「手作業の操作」そのものであることに価値があるんだよ
シェルスクリプトの代替にはならないんだよ
だってPythonやRuby言語がシェルになるかい?
そういうのもあるみたいだけど使わないだろ
lslの代わりにPythonやRubyの関数を使えってことだよ
やるかい?
シェススクリプトはそういう手作業の操作をスクリプトにまとめたもので
「手作業の操作」そのものであることに価値があるんだよ
234デフォルトの名無しさん
2020/09/16(水) 10:34:04.05ID:+Zum6F6u × lslの代わりにPythonやRubyの関数を使えってことだよ
○ ls -alの代わりに
○ ls -alの代わりに
235デフォルトの名無しさん
2020/09/16(水) 10:40:48.87ID:2aHyKEnC シェルスクリプトを使わないほうがいいケースや使うべきでないケースを判断出来ないようなやつは技術力が低くて使えない
だからリアルでは軽んじられる
その反動がネット上でのマウンティング合戦
不毛なマウンティング合戦を繰り返すスレを見たらリアルでは相手にされない人達だと思って反面教師にしつつその技術への依存度を下げるといい
だからリアルでは軽んじられる
その反動がネット上でのマウンティング合戦
不毛なマウンティング合戦を繰り返すスレを見たらリアルでは相手にされない人達だと思って反面教師にしつつその技術への依存度を下げるといい
236デフォルトの名無しさん
2020/09/16(水) 10:44:06.38ID:BkyZoSl2 >>235
シェルスクリプトを使ったほうがいいケースや使うべきであるケースを判断出来ないようなやつは技術力が低くて使えない
だからリアルでは軽んじられる
その反動がネット上でのマウンティング合戦
不毛なマウンティング合戦を繰り返すスレを見たらリアルでは相手にされない人達だと思って反面教師にしつつその技術への依存度を下げるといい
シェルスクリプトを使ったほうがいいケースや使うべきであるケースを判断出来ないようなやつは技術力が低くて使えない
だからリアルでは軽んじられる
その反動がネット上でのマウンティング合戦
不毛なマウンティング合戦を繰り返すスレを見たらリアルでは相手にされない人達だと思って反面教師にしつつその技術への依存度を下げるといい
237デフォルトの名無しさん
2020/09/16(水) 10:52:37.21ID:MNPDZagX >>223
当然その他個別に必要な要素はDockerfileに書き出すけど、実運用でコンテナを使えるのがDockerHubやオーケストレーションツールを含めた現代コンテナ運用の強みだし革新性だと思ってるよ
なんていうか「シェルスクリプトの文法や仕様が嫌い過ぎてシェルスクリプト数行で済むものにも別の言語を導入して書こうとする1byteもシェルスクリプトを書きたくない人間」に対してシェルスクリプトの可搬性や有用性・必要性を説こうとしてる人と
「シェルスクリプトの文法や仕様でウッとなってしまう嫌な部分が出てくるような複雑さ・処理対象・処理内容の、シェルスクリプトで扱うのにある意味不適な案件がある人間」に対して別の言語や環境で扱うのも選択肢だよって説こうとしてる人が争ってる感
当然その他個別に必要な要素はDockerfileに書き出すけど、実運用でコンテナを使えるのがDockerHubやオーケストレーションツールを含めた現代コンテナ運用の強みだし革新性だと思ってるよ
なんていうか「シェルスクリプトの文法や仕様が嫌い過ぎてシェルスクリプト数行で済むものにも別の言語を導入して書こうとする1byteもシェルスクリプトを書きたくない人間」に対してシェルスクリプトの可搬性や有用性・必要性を説こうとしてる人と
「シェルスクリプトの文法や仕様でウッとなってしまう嫌な部分が出てくるような複雑さ・処理対象・処理内容の、シェルスクリプトで扱うのにある意味不適な案件がある人間」に対して別の言語や環境で扱うのも選択肢だよって説こうとしてる人が争ってる感
238デフォルトの名無しさん
2020/09/16(水) 10:58:35.61ID:VpAz8kB7 格言「すべての道は、Vagrant に通ず」
Homebrew が、何十年も他の言語で書かれないわけ
つまり、システム構築運用は、できる限りRuby で書く。
シンプルなものに限って、シェルスクリプト
Homebrew が、何十年も他の言語で書かれないわけ
つまり、システム構築運用は、できる限りRuby で書く。
シンプルなものに限って、シェルスクリプト
239デフォルトの名無しさん
2020/09/16(水) 11:10:41.03ID:Uxf3IaQ5 このスレのおかげでシェルだけでWebサイト作れました!
RubyやPythonなんて学ぶ価値無いですね
RubyやPythonなんて学ぶ価値無いですね
240デフォルトの名無しさん
2020/09/16(水) 11:36:55.73ID:+0jueX8G >>235
PythonやRubyを使わないほうがいいケースや使うべきでないケースを判断出来ないようなやつは技術力が低くて使えない
だからリアルでは軽んじられる
その反動がネット上でのマウンティング合戦
不毛なマウンティング合戦を繰り返すスレを見たらリアルでは相手にされない人達だと思って反面教師にしつつその技術へ
こうですか? 分かりません!
PythonやRubyを使わないほうがいいケースや使うべきでないケースを判断出来ないようなやつは技術力が低くて使えない
だからリアルでは軽んじられる
その反動がネット上でのマウンティング合戦
不毛なマウンティング合戦を繰り返すスレを見たらリアルでは相手にされない人達だと思って反面教師にしつつその技術へ
こうですか? 分かりません!
241デフォルトの名無しさん
2020/09/16(水) 11:38:45.59ID:+0jueX8G いいかげん下らなくなってきたけど,ともかく
「シェルスクリプトにこだわるな! Python・Rubyを使え!」
という主張は同時に「Python・Rubyにこだわっている」わけなんだから,
いくら「こだわり」をバカにしてマウント取ったところで,
ものすごい勢いで自分に跳ね返ってくるだけっていうねw
「シェルスクリプトにこだわるな! Python・Rubyを使え!」
という主張は同時に「Python・Rubyにこだわっている」わけなんだから,
いくら「こだわり」をバカにしてマウント取ったところで,
ものすごい勢いで自分に跳ね返ってくるだけっていうねw
242デフォルトの名無しさん
2020/09/16(水) 11:58:19.63ID:sxVBKKDL え、両方使いなよって主張じゃないの?
そういうレスした本人じゃないから知らんけど
そういうレスした本人じゃないから知らんけど
243デフォルトの名無しさん
2020/09/16(水) 12:04:24.33ID:+Zum6F6u >>237
> 「シェルスクリプトの文法や仕様でウッとなってしまう
それってようするにオブジェクト指向言語にそまってて
関数型言語に抵抗があるやつと一緒なんだわ
パラダイムが同じならそれもわかるけど、シェルスクリプトは異なるパラダイムなので
単に異なるパラダイムのものをつけつけられないだけ
> 「シェルスクリプトの文法や仕様でウッとなってしまう
それってようするにオブジェクト指向言語にそまってて
関数型言語に抵抗があるやつと一緒なんだわ
パラダイムが同じならそれもわかるけど、シェルスクリプトは異なるパラダイムなので
単に異なるパラダイムのものをつけつけられないだけ
244デフォルトの名無しさん
2020/09/16(水) 12:09:15.41ID:+Zum6F6u >>238
HomebrewのインストーラーをRubyからBashに書き直しました!
https://itchyny.hate
nablog.com/entry/2020/03/03/100000
> 将来的にmacOSデフォルトにRubyやPythonが含まれなくなる (参考リンク)。
こうなる
HomebrewのインストーラーをRubyからBashに書き直しました!
https://itchyny.hate
nablog.com/entry/2020/03/03/100000
> 将来的にmacOSデフォルトにRubyやPythonが含まれなくなる (参考リンク)。
こうなる
245デフォルトの名無しさん
2020/09/16(水) 12:39:23.56ID:BkyZoSl2 >>237
シェルスクリプト自体に文句があるのはしゃあない(つーか、ないヤツはおらんやろw)が、全否定したらこのスレではただのあらしでしかない。
さらに、最近の一部のヤツはとくにバカっぽかったからな。
シェルスクリプト自体に文句があるのはしゃあない(つーか、ないヤツはおらんやろw)が、全否定したらこのスレではただのあらしでしかない。
さらに、最近の一部のヤツはとくにバカっぽかったからな。
246デフォルトの名無しさん
2020/09/16(水) 12:41:43.36ID:0bH7BLR9 状況に応じて使う道具を変えなよって言われてるのに、PythonやRubyを持ち出して否定したがるのはそれらを使えないことへのコンプレックスが強いから
どの技術でもその限界や短所を理解してないやつが多ければ要注意
どの技術でもその限界や短所を理解してないやつが多ければ要注意
247デフォルトの名無しさん
2020/09/16(水) 12:42:57.45ID:uLph0UBy シェススクリプトへの文句というより
シェルスクリプトが改善されないことに文句がある
何年停滞してるんだ
シェルスクリプトが改善されないことに文句がある
何年停滞してるんだ
248238
2020/09/16(水) 12:55:13.00ID:VpAz8kB7 ハーバード大学には、Ruby on Rails の授業がある。
他の言語だと、数年以上遅れて、その間にシェアを取られてしまうから
他の言語では、複雑さが並みじゃないから、簡単に作れない。
かなりの費用・期間が掛かるから、そういうプロジェクトを起ち上げられない
例えば、Ruby以外のプロジェクトで、半年過ぎると取りやめになる。
サーバー側言語では、Ruby, Go しか使われない
他の言語だと、数年以上遅れて、その間にシェアを取られてしまうから
他の言語では、複雑さが並みじゃないから、簡単に作れない。
かなりの費用・期間が掛かるから、そういうプロジェクトを起ち上げられない
例えば、Ruby以外のプロジェクトで、半年過ぎると取りやめになる。
サーバー側言語では、Ruby, Go しか使われない
249デフォルトの名無しさん
2020/09/16(水) 13:03:02.60ID:D69h0Ren PythonとかRubyみたいな簡単な言語使ってる雑魚がイキってるのマジで笑える
250238
2020/09/16(水) 13:04:02.76ID:VpAz8kB7 例えば、Ruby の数値リテラルには、_ を含めることができる
1_000_000_000 # 1000000000
0xffff_ffff # 0xffffffff
この機能がないと、下みたいに、コメントを書かないといけないし、確かめるのも大変
1000000000 # 1_000_000_000
Ruby では、こういうように、バグを減らす工夫をしている。
だから、こういうことを思いつく日本人は、smart だって言われる
1_000_000_000 # 1000000000
0xffff_ffff # 0xffffffff
この機能がないと、下みたいに、コメントを書かないといけないし、確かめるのも大変
1000000000 # 1_000_000_000
Ruby では、こういうように、バグを減らす工夫をしている。
だから、こういうことを思いつく日本人は、smart だって言われる
251デフォルトの名無しさん
2020/09/16(水) 13:11:20.74ID:MNPDZagX >>243
どこの誰の事を異なるパラダイムを受け付けられない人間としてるのか知らないけど、パラダイムが異なれば当然向き不向きがあるよね?
その上で私は
> シェルスクリプトの文法や仕様でウッとなってしまう嫌な部分が出てくるような複雑さ・処理対象・処理内容の、シェルスクリプトで扱うのにある意味不適な案件
っていう「シェルスクリプトのパラダイムに向かない作業」を話題の前提にしてる人が他の言語を提案してるんじゃないの?って話しかしてないのよ
「何らかの作業をシェルスクリプトのパラダイムに向かない作業だと感じるのは、そいつがパラダイムを受け付けないだけで不向きな作業だからではない」という可能性は間違いなくある
ただ可能性はあるけれど恒真とは思わない
私がシェルスクリプトに向いてない作業はあると思ってるから
もしあなたがシェルスクリプトに向かない作業なんてないと思ってるなら何も言わない
この先は気持ちの問題なので
どこの誰の事を異なるパラダイムを受け付けられない人間としてるのか知らないけど、パラダイムが異なれば当然向き不向きがあるよね?
その上で私は
> シェルスクリプトの文法や仕様でウッとなってしまう嫌な部分が出てくるような複雑さ・処理対象・処理内容の、シェルスクリプトで扱うのにある意味不適な案件
っていう「シェルスクリプトのパラダイムに向かない作業」を話題の前提にしてる人が他の言語を提案してるんじゃないの?って話しかしてないのよ
「何らかの作業をシェルスクリプトのパラダイムに向かない作業だと感じるのは、そいつがパラダイムを受け付けないだけで不向きな作業だからではない」という可能性は間違いなくある
ただ可能性はあるけれど恒真とは思わない
私がシェルスクリプトに向いてない作業はあると思ってるから
もしあなたがシェルスクリプトに向かない作業なんてないと思ってるなら何も言わない
この先は気持ちの問題なので
252デフォルトの名無しさん
2020/09/16(水) 14:56:05.79ID:+0jueX8G ほとんどの人が「別にPythonでもRubyでもいいけど,
そうじゃない選択肢としてシェルがある」というだけの話をしてるのに
「いまだにシェルを使ってるのは時代遅れ!」
「シェルにこだわるな!Python・Rubyを使え!(こだわり)」
となるのはなぜなのか。
あと一部の奴が「シェル最高!世の中にはこれしか要らない!」みたいな
主張をしてるのも問題。
そうじゃない選択肢としてシェルがある」というだけの話をしてるのに
「いまだにシェルを使ってるのは時代遅れ!」
「シェルにこだわるな!Python・Rubyを使え!(こだわり)」
となるのはなぜなのか。
あと一部の奴が「シェル最高!世の中にはこれしか要らない!」みたいな
主張をしてるのも問題。
253デフォルトの名無しさん
2020/09/16(水) 15:03:48.26ID:BkyZoSl2254デフォルトの名無しさん
2020/09/16(水) 15:06:08.22ID:BkyZoSl2255デフォルトの名無しさん
2020/09/16(水) 18:42:23.15ID:vxZ/INdB 技術力のある人はシェルスクリプトの短所や限界をよく理解している
Google曰く
If you are writing a script that is more than 100 lines long,
you should rewrite it in a more structured language now.
https://google.github.io/styleguide/shellguide.html#s1.2-when-to-use-shell
GitLab曰く
we recommend staying away from shell scripts as much as possible.
A language like Ruby or Python is almost always a better choice.
https://docs.gitlab.com/ee/development/shell_scripting_guide/#avoid-using-shell-scripts
Google曰く
If you are writing a script that is more than 100 lines long,
you should rewrite it in a more structured language now.
https://google.github.io/styleguide/shellguide.html#s1.2-when-to-use-shell
GitLab曰く
we recommend staying away from shell scripts as much as possible.
A language like Ruby or Python is almost always a better choice.
https://docs.gitlab.com/ee/development/shell_scripting_guide/#avoid-using-shell-scripts
256デフォルトの名無しさん
2020/09/16(水) 19:16:11.22ID:PhvdJ7XH >>255
全てに当てはまることだけど、理由が書いてないコーディング規約はクソ
全てに当てはまることだけど、理由が書いてないコーディング規約はクソ
257デフォルトの名無しさん
2020/09/16(水) 19:59:30.26ID:YseoXyv4 そういやユニケージで作られた例のシステム、ユニケージを捨てて
全部作り直したそうだな
全部作り直したそうだな
258デフォルトの名無しさん
2020/09/16(水) 20:58:02.47ID:VpAz8kB7 同じディレクトリ内にある、yarn.js ファイルを呼ぶラッパーである、yarn ファイル・コマンド
#!/bin/sh
argv0=$(echo "$0" | sed -e 's,\\,/,g')
basedir=$(dirname "$(readlink "$0" || echo "$argv0")")
case "$(uname -s)" in
Darwin) basedir="$( cd "$( dirname "$argv0" )" && pwd )";;
Linux) basedir=$(dirname "$(readlink -f "$0" || echo "$argv0")");;
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
*MSYS*) basedir=`cygpath -w "$basedir"`;;
esac
command_exists() { command -v "$1" >/dev/null 2>&1; }
if command_exists node; then
if [ "$YARN_FORCE_WINPTY" = 1 ] || command_exists winpty && test -t 1; then
winpty node "$basedir/yarn.js" "$@"
else
exec node "$basedir/yarn.js" "$@"
fi
ret=$?
# Debian, Ubuntu では、node ではなく、nodejs
elif command_exists nodejs; then
exec nodejs "$basedir/yarn.js" "$@"
ret=$?
else
>&2 echo 'Yarn requires Node.js 4.0 or higher to be installed.'
ret=1
fi
exit $ret
#!/bin/sh
argv0=$(echo "$0" | sed -e 's,\\,/,g')
basedir=$(dirname "$(readlink "$0" || echo "$argv0")")
case "$(uname -s)" in
Darwin) basedir="$( cd "$( dirname "$argv0" )" && pwd )";;
Linux) basedir=$(dirname "$(readlink -f "$0" || echo "$argv0")");;
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
*MSYS*) basedir=`cygpath -w "$basedir"`;;
esac
command_exists() { command -v "$1" >/dev/null 2>&1; }
if command_exists node; then
if [ "$YARN_FORCE_WINPTY" = 1 ] || command_exists winpty && test -t 1; then
winpty node "$basedir/yarn.js" "$@"
else
exec node "$basedir/yarn.js" "$@"
fi
ret=$?
# Debian, Ubuntu では、node ではなく、nodejs
elif command_exists nodejs; then
exec nodejs "$basedir/yarn.js" "$@"
ret=$?
else
>&2 echo 'Yarn requires Node.js 4.0 or higher to be installed.'
ret=1
fi
exit $ret
259デフォルトの名無しさん
2020/09/16(水) 20:59:44.06ID:PhvdJ7XH ユニケージはシェルスクリプトじゃないからなぁ
シェルスクリプトを使って作られたCOBOL用関数みたいなもん
ユニケージを使った途端、シェルスクリプト言語から
COBOL言語に開発スタイルが変わる
シェルスクリプトを使って作られたCOBOL用関数みたいなもん
ユニケージを使った途端、シェルスクリプト言語から
COBOL言語に開発スタイルが変わる
260デフォルトの名無しさん
2020/09/16(水) 21:09:23.04ID:PhvdJ7XH シェルスクリプトを始めた頃は
> usp Tukubaiは短期間低コストで企業システムを構築するエンタープライズ向けコマンド群。
> ユニケージ開発手法で利用するコマンド群であり、
https://uec.usp-lab.com/tukubai_man
に便利なコマンドがあるんじゃないか?って思ったんだよ
実際に見てみたら完全にゴミ
> ctail(1) ファイルの末尾n行を削って出力
例えばこれとかhead -n -10でいいじゃんとか
> count(1) 同じキーの行数をカウント
それをawkでやるのがシェルスクリプトでしょとか
そういうのばかりで、
根底に CSVならぬ、空白区切りのファイル形式を使うという前提があって
そのデータ操作するためのコマンド群でしかないことに気付いた
> usp Tukubaiは短期間低コストで企業システムを構築するエンタープライズ向けコマンド群。
> ユニケージ開発手法で利用するコマンド群であり、
https://uec.usp-lab.com/tukubai_man
に便利なコマンドがあるんじゃないか?って思ったんだよ
実際に見てみたら完全にゴミ
> ctail(1) ファイルの末尾n行を削って出力
例えばこれとかhead -n -10でいいじゃんとか
> count(1) 同じキーの行数をカウント
それをawkでやるのがシェルスクリプトでしょとか
そういうのばかりで、
根底に CSVならぬ、空白区切りのファイル形式を使うという前提があって
そのデータ操作するためのコマンド群でしかないことに気付いた
261デフォルトの名無しさん
2020/09/16(水) 21:16:09.82ID:PhvdJ7XH ユニケージのコマンドに絶望した後
クソコマンドをまともにしてやろうと思ったが
クソな理由はコマンドではなくデータ形式だったので
どうしようもないというねw
データ形式を空白区切り前提にしなければ、
通常のシェルスクリプトで使うコマンドを使うことになるが
ユニケージのコマンドとは全く異なる仕様になる
直しようがない
クソコマンドをまともにしてやろうと思ったが
クソな理由はコマンドではなくデータ形式だったので
どうしようもないというねw
データ形式を空白区切り前提にしなければ、
通常のシェルスクリプトで使うコマンドを使うことになるが
ユニケージのコマンドとは全く異なる仕様になる
直しようがない
262デフォルトの名無しさん
2020/09/16(水) 21:31:53.79ID:fQIibdhg263デフォルトの名無しさん
2020/09/16(水) 21:36:41.16ID:66kQJWEh264デフォルトの名無しさん
2020/09/16(水) 22:04:09.41ID:RIbUq78m ポイント? なんでそう思ったの?
根拠がないから具体的ではないだけ
根拠がないから具体的ではないだけ
265デフォルトの名無しさん
2020/09/16(水) 22:36:59.59ID:+0jueX8G どうでもいいんですけど,
シェルスクリプト以外の話題なら他所でやってもらえません?
もちろんシェルスクリプトの存在論も含めて。
テンプレくらい読んでくれよな〜頼むよ〜
シェルスクリプト以外の話題なら他所でやってもらえません?
もちろんシェルスクリプトの存在論も含めて。
テンプレくらい読んでくれよな〜頼むよ〜
266デフォルトの名無しさん
2020/09/16(水) 22:48:58.53ID:AIq8Iw+F 長々とどうでもいいこと書き綴ってスレ荒らしてたのお前じゃん
267デフォルトの名無しさん
2020/09/16(水) 22:56:04.59ID:BkyZoSl2 >>264
わかる人にはわかる。
わからない人のほうがその理由を内省するべき。
ただ、Bashは関数と連想配列のおかげで、それなりの構造化はできてるな。
逆に言うと、よっぽどややこしいデータ構造を組むのでなければ、シェルスクリプトでも可、ってことか。w
わかる人にはわかる。
わからない人のほうがその理由を内省するべき。
ただ、Bashは関数と連想配列のおかげで、それなりの構造化はできてるな。
逆に言うと、よっぽどややこしいデータ構造を組むのでなければ、シェルスクリプトでも可、ってことか。w
268デフォルトの名無しさん
2020/09/17(木) 05:40:41.40ID:arhYEtgP269デフォルトの名無しさん
2020/09/17(木) 06:53:22.12ID:7lkKgDUb まあ結局
「シェルスクリプトでおかしな書き方をするやつは
Pythonで書こうがRubyを使って メタプログラミング() をしようが
下手な書き方をすることに変わりない」
ってことよね。
「シェルスクリプトでおかしな書き方をするやつは
Pythonで書こうがRubyを使って メタプログラミング() をしようが
下手な書き方をすることに変わりない」
ってことよね。
270デフォルトの名無しさん
2020/09/17(木) 07:33:41.05ID:hnEDQboZ シェルスクリプトから○○言語に変更したってやつは
変更した結果どうなったのか、そのコードを見てみたいんだが
シェルスクリプトで一体何をしていたのか?
変更した結果どうなったのか、そのコードを見てみたいんだが
シェルスクリプトで一体何をしていたのか?
271デフォルトの名無しさん
2020/09/17(木) 09:41:38.06ID:v24DPghR Pythonさえやっておけばシェルスクリプトやる必要ないってことじゃないですかやったー!
272デフォルトの名無しさん
2020/09/17(木) 09:46:01.87ID:HvzSxf7x Pythonの関数(特別に作られたものではなく標準関数)を使うという前提の
シェルが作れるものなら作ってみて欲しいね
Python以外でもいいけど
シェルが作れるものなら作ってみて欲しいね
Python以外でもいいけど
273デフォルトの名無しさん
2020/09/17(木) 09:53:36.15ID:d9Y9RH6u274デフォルトの名無しさん
2020/09/17(木) 10:32:54.56ID:chlfrU3v275デフォルトの名無しさん
2020/09/17(木) 10:53:19.56ID:PVLBY2eY >>267
POSIX準拠じゃないから使えないねw
POSIX準拠じゃないから使えないねw
276デフォルトの名無しさん
2020/09/17(木) 11:04:29.11ID:d9Y9RH6u277デフォルトの名無しさん
2020/09/17(木) 11:05:00.12ID:Ebl/PrBy bash特有の機能を使おうと思った時点で
それはシェルスクリプトでやるべきことじゃないんだろうな
もちろんちゃんとシェルスクリプトのスタイル(関数型)でコーディングするのは大前提
ようするにシェルスクリプトはPOSIX準拠の機能で十分なんだよ
それはシェルスクリプトでやるべきことじゃないんだろうな
もちろんちゃんとシェルスクリプトのスタイル(関数型)でコーディングするのは大前提
ようするにシェルスクリプトはPOSIX準拠の機能で十分なんだよ
278デフォルトの名無しさん
2020/09/17(木) 11:47:37.44ID:6qIvJTFZ シェルスクリプトのスタイルは関数型!
さすがシェルスクリプターの考えることは次元が違うぜ
さすがシェルスクリプターの考えることは次元が違うぜ
279デフォルトの名無しさん
2020/09/17(木) 12:00:55.65ID:Ebl/PrBy >>278
https://qiita.com/piroor/items/77233173707a0baa6360
ところで、「流入してくるデータを加工して返却する」「ステートレスな」処理が得意で、
「内部で複雑な状態を持つ必要のある」「ステートフルな」処理が苦手だというのは、
関数型言語にも見られる特徴です。14
そう考えると、シェルスクリプトで凝った事をしようとする人があまり多くないのも頷けます。
「関数型言語は難しい」と言われる事が多いですが、他の言語とパラダイムが違う言語だと思えば、
これまでのプログラミングのパラダイムに囚われたままでは理解が進まないのも当然です。
14. 実際、関数型言語が得意な人にこの説を披露してみた所、
「関数型言語というのはストリーム型のデータを処理するという所が
キモ(なので、解釈としてそう外してはいない)」という感じの感想を頂きました。 ?
https://qiita.com/piroor/items/77233173707a0baa6360
ところで、「流入してくるデータを加工して返却する」「ステートレスな」処理が得意で、
「内部で複雑な状態を持つ必要のある」「ステートフルな」処理が苦手だというのは、
関数型言語にも見られる特徴です。14
そう考えると、シェルスクリプトで凝った事をしようとする人があまり多くないのも頷けます。
「関数型言語は難しい」と言われる事が多いですが、他の言語とパラダイムが違う言語だと思えば、
これまでのプログラミングのパラダイムに囚われたままでは理解が進まないのも当然です。
14. 実際、関数型言語が得意な人にこの説を披露してみた所、
「関数型言語というのはストリーム型のデータを処理するという所が
キモ(なので、解釈としてそう外してはいない)」という感じの感想を頂きました。 ?
280デフォルトの名無しさん
2020/09/17(木) 12:33:52.60ID:7lkKgDUb 沈黙してて草
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【窪田順生氏】「高市政権人気の裏には多数の“弱者感を抱えた男”の存在がある」弱者感を抱えた男は人知れずマイルド右翼に… [おっさん友の会★]
- 【調査】クレジットカード、1人何枚持つのが「平均的」?★3 [ひぃぃ★]
- 「ヘイトスピーチをやめろ」 各地の「移民反対デモ」に抗議活動 [蚤の市★]
- 【テレビ】池上彰氏 報道の自由度が高い国の特徴「どんどん政府を批判する。政治家は受け入れる」 一方独裁国家は… [冬月記者★]
- 【作家】高市総理支持の背景に見えるヤンキー的「ケンカ上等!」と「日本人は特別だ」感がとても怖い 北原みのり [少考さん★]
- 宮崎あおい「電子レンジ持ってない」“丁寧な暮らし”を告白「ごはんを温め直すときも蒸し器」に「凄すぎ」の声 [muffin★]
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1816
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap609
- 【U-NEXT】プレミアリーグ総合 ★39
- 巨専】
- とらせん IP
- こいせん 全レス転載禁止
- 古市憲寿「スタジオでも中国批判して気持ち良くなってる人はいるが高市答弁で日本人は損してる。国益を害した」スタジオ凍りつく [931948549]
- 高市政権「中国への反論はSNSでやるb。覚悟しろ中麹早I!!!!」 [834922174]
- まったり進行おじゃる丸待機ハウス🏡
- ビッパって何?
- AIアーティストだけど作品公開する
- フィフィ「「歌唱強制中断」騒動、この時期に中国でライブ公演しようとするアーティストの方にも問題があるのでは?」 [377482965]
