X



なぜシェルスクリプトは今も生き続けてるのか?
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2020/10/26(月) 06:44:31.26ID:BWe3LZzt
シェルスクリプトの代替だったはずのPerlはもう死にかけなのにな
将来Pythonは死ぬかもしれないけど、
それでもシェルスクリプトは死なないんだろうな
0002デフォルトの名無しさん
垢版 |
2020/10/26(月) 11:23:41.83ID:PJVUqgwT
プロセスを起動するのが楽ちんちんだからかな
0003デフォルトの名無しさん
垢版 |
2020/10/26(月) 11:36:02.63ID:viKjpt2s
死ぬと増えるからな
0004デフォルトの名無しさん
垢版 |
2020/10/26(月) 13:20:17.93ID:eROnJLfC
シェルスクリプトって、

A. シェルスクリプト固有の文法・ルール(実は少ない)
B. シェルスクリプトで利用するのに便利なように意図して設計された普通のコマンド
C. シェルスクリプトで利用するのに便利なように意図して設計された普通のシェル組み込みコマンド
D. 普通のコマンド
E. 普通のシェル組み込みコマンド

が渾然一体となって動いてるじゃないですか?
これ俺のような初心者にはどこがどれやらごちゃごちゃになって分かりにくいんですが、ここらへんいちいちちゃんと都度説明してくっきりわかるように解説してくれてる入門書ってありませんか?
0005デフォルトの名無しさん
垢版 |
2020/10/26(月) 13:20:47.46ID:9njsirs5
シェルスクリプト以外でプログラムとプログラムをつなげる
簡単な方法があるの?
あればそれに乗り換えるけど
0006デフォルトの名無しさん
垢版 |
2020/10/26(月) 15:15:21.29ID:iAfvFyIK
>>4
シェルスクリプトで利用するのに〜とかってどういう意味?
具体的に行ってくれないとわからない
ごちゃごちゃもなにも区別する必要ないじゃない?
区別しなくていいように作られてるんだし
0007デフォルトの名無しさん
垢版 |
2020/10/28(水) 03:24:41.21ID:TQndZTJN
関数とコマンドが本質的に同じで交換可能な言語って他にある?
ライブラリを使ってでも良いんだけど
例えばgitコマンドを呼び出すように、git関数が使えて
なんならgit関数を作ると、あたかもgitコマンドがあるかのように
振る舞えることが可能な言語
0009デフォルトの名無しさん
垢版 |
2020/10/28(水) 04:58:43.65ID:SCXo0Ycn
>>8
それなに?なんかCLIコマンドを作るライブラリに見えるけど
https://qiita.com/KtheS/items/59d683992ee33de857e9

そうじゃなくて、gitコマンドあるでしょ?
git init とかを、ほぼそのまんま git init って実行できる言語

system("git init") じゃなくて
git("init") もちょっと冗長に感じるのでかっこがなくて
git init と書いて実行できればそれが一番

そしてdef git() とか書いて関数として定義しておけば
それをそのまま git init で"言語の中から"呼び出せる
0012デフォルトの名無しさん
垢版 |
2020/10/28(水) 10:06:31.94ID:3yQQm3er
ああそういうことか。びっくりした。
シェルスクリプトがあるのに別にそういうのが欲しいって言ってるのかと思った。
0013デフォルトの名無しさん
垢版 |
2020/10/28(水) 11:06:53.41ID:5tfRxxzu
WindowsのPSとかxonshみたいなPython製のシェルとかで「オブジェクトが返せるのでこんな事が出来ます!」みたいなのよく見るけど
結局一番使われるそのへんにある普通のツールはCとかで書かれてて戻り値はint引数はint,char*みたいに文字列での入出力だからあんま意味ないよな
0014デフォルトの名無しさん
垢版 |
2020/10/28(水) 11:14:32.61ID:tWb3MY/h
>>13
そうなんだよな。ダメじゃないけど既存のツールがテキストで返すから活用できない
PowerShellはエコシステムごと作ったというか、.NETエコシステムを利用する形で
作ったからすごいけど、それは世界が違うわけでシェルスクリプトの代替にはならない
0015デフォルトの名無しさん
垢版 |
2020/10/28(水) 12:23:29.99ID:ArgZkv9M
テキストでの入出力もできるので代替可能
はい論破
0016デフォルトの名無しさん
垢版 |
2020/10/28(水) 12:31:40.23ID:tWb3MY/h
>>15
そう思うやろ? 入出力のフォーマットが定まってないからダメなんだよ
指定できるとか加工すればいいとかそういう話じゃなくて
デフォルト、つまりよく使うものが短く書けなければいけない
0017デフォルトの名無しさん
垢版 |
2020/10/28(水) 15:44:27.80ID:QKhQ72su
例えばifconfigみたいな基本的なコマンドでもOSやディストリビューションごとに出力がまちまちで例外に備えて正規表現書くのは極めて困難(簡単にできると思うなら調べてみるといい)
だからipコマンドが作られたんだけど、他にもそういうコマンドが大量にある
0018デフォルトの名無しさん
垢版 |
2020/10/28(水) 15:55:49.41ID:1frzSe55
what?
0019デフォルトの名無しさん
垢版 |
2020/10/28(水) 19:18:18.91ID:Aw3ALjki
>>16
jsonでいいな

はいロンパー
0021デフォルトの名無しさん
垢版 |
2020/10/29(木) 19:58:25.73ID:S5hnj3XB
それにUNIX流のパイプは行ベースのデータしか考えてなくて、JSONみたいな階層構造持ったデータをパースするにはjqみたいなクエリー言語使うしかない
0023デフォルトの名無しさん
垢版 |
2020/11/09(月) 23:44:49.49ID:oZ9iTCpX
power shellでも
pythonでも
batから呼び出すしかないの?

ダブルクリックで起動は無理?
0024デフォルトの名無しさん
垢版 |
2020/11/10(火) 16:12:49.47ID:Z2TiqNH2
シェルスクリプトのためにシェルが
あるわけではないと思うのだけれども…

シェルスクリプトはシェルの処理を自動化する手段でしかない。
0025デフォルトの名無しさん
垢版 |
2020/11/10(火) 19:58:19.70ID:gYpwkl8g
> シェルスクリプトはシェルの処理を自動化する手段でしかない。

せやな。そして普段シェルからなんでもやってるよな?
0026デフォルトの名無しさん
垢版 |
2020/11/10(火) 19:59:23.68ID:gYpwkl8g
なぜシェルの代わりにPythonなどのプログラム言語を使って作業しないのか?
結局の所、シェルのほうが使いやすいってことなんやで
0027デフォルトの名無しさん
垢版 |
2020/11/10(火) 22:37:49.78ID:c+4iqUmg
OSそのものがシェルスクリプトを使っているからなくなるはずがない。
0028デフォルトの名無しさん
垢版 |
2020/11/10(火) 22:41:40.72ID:c+4iqUmg
>>26
いつからPythonはシェルがなくても動くことになったのか?
0029デフォルトの名無しさん
垢版 |
2020/11/10(火) 22:42:26.76ID:c+4iqUmg
>>26
シェルスクリプトのことをシェルと呼ぶのはやめてほしい。
0030デフォルトの名無しさん
垢版 |
2020/11/10(火) 22:43:37.14ID:L/We1Z4T
シェルスクと言いなさい
0031デフォルトの名無しさん
垢版 |
2020/11/10(火) 22:50:20.12ID:c+4iqUmg
>>30
キヨスクみたいなもんか?
0033デフォルトの名無しさん
垢版 |
2020/11/12(木) 17:22:07.76ID:t01TyFyc
>>28
pythonってシェルに何か依存してるっけ?
普通にシステムコールとパイプで他のプロセスとやり取りしてると思うが
引数をシェルを通して渡すかとかいう誰も気にしてないだろうオプション(デフォルトでFalse)まであるし
pythonはlsb規格に入ってることだし拡張shよりはポータブルなのでは
0038デフォルトの名無しさん
垢版 |
2020/11/12(木) 21:02:49.64ID:3FgSj0vI
プロ言にコマンド叩く機能と
FS読み書きとファイルやディレクトリ作成する
機能あればどのプロ言使っても同じ定期
0040デフォルトの名無しさん
垢版 |
2020/11/24(火) 10:20:00.45ID:gfNKbZsO
環境を入れるためのファイルサイズと、その環境で出来る事のってところのコスパ
限られたリソースの中でやらなきゃいけない事ってのはずっと残るんね
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況