2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

なぜシェルスクリプトは今も生き続けてるのか?

1 :デフォルトの名無しさん:2020/10/26(月) 06:44:31.26 ID:BWe3LZzt.net
シェルスクリプトの代替だったはずのPerlはもう死にかけなのにな
将来Pythonは死ぬかもしれないけど、
それでもシェルスクリプトは死なないんだろうな

2 :デフォルトの名無しさん:2020/10/26(月) 11:23:41.83 ID:PJVUqgwT.net
プロセスを起動するのが楽ちんちんだからかな

3 :デフォルトの名無しさん:2020/10/26(月) 11:36:02.63 ID:viKjpt2s.net
死ぬと増えるからな

4 :デフォルトの名無しさん:2020/10/26(月) 13:20:17.93 ID:eROnJLfC.net
シェルスクリプトって、

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

が渾然一体となって動いてるじゃないですか?
これ俺のような初心者にはどこがどれやらごちゃごちゃになって分かりにくいんですが、ここらへんいちいちちゃんと都度説明してくっきりわかるように解説してくれてる入門書ってありませんか?

5 :デフォルトの名無しさん:2020/10/26(月) 13:20:47.46 ID:9njsirs5.net
シェルスクリプト以外でプログラムとプログラムをつなげる
簡単な方法があるの?
あればそれに乗り換えるけど

6 :デフォルトの名無しさん:2020/10/26(月) 15:15:21.29 ID:iAfvFyIK.net
>>4
シェルスクリプトで利用するのに〜とかってどういう意味?
具体的に行ってくれないとわからない
ごちゃごちゃもなにも区別する必要ないじゃない?
区別しなくていいように作られてるんだし

7 :デフォルトの名無しさん:2020/10/28(水) 03:24:41.21 ID:TQndZTJN.net
関数とコマンドが本質的に同じで交換可能な言語って他にある?
ライブラリを使ってでも良いんだけど
例えばgitコマンドを呼び出すように、git関数が使えて
なんならgit関数を作ると、あたかもgitコマンドがあるかのように
振る舞えることが可能な言語

8 :デフォルトの名無しさん:2020/10/28(水) 04:35:25.69 ID:3yQQm3er.net
ライブラリでもいいっていうとpython fireみたいなのでいいの?

9 :デフォルトの名無しさん:2020/10/28(水) 04:58:43.65 ID:SCXo0Ycn.net
>>8
それなに?なんかCLIコマンドを作るライブラリに見えるけど
https://qiita.com/KtheS/items/59d683992ee33de857e9

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

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

そしてdef git() とか書いて関数として定義しておけば
それをそのまま git init で"言語の中から"呼び出せる

10 :デフォルトの名無しさん:2020/10/28(水) 05:02:05.00 ID:3yQQm3er.net
???何の意味が?

11 :デフォルトの名無しさん:2020/10/28(水) 08:24:14.96 ID:SCXo0Ycn.net
>>10
それがシェルスクリプトが生き続けてる理由だから

12 :デフォルトの名無しさん:2020/10/28(水) 10:06:31.94 ID:3yQQm3er.net
ああそういうことか。びっくりした。
シェルスクリプトがあるのに別にそういうのが欲しいって言ってるのかと思った。

13 :デフォルトの名無しさん:2020/10/28(水) 11:06:53.41 ID:5tfRxxzu.net
WindowsのPSとかxonshみたいなPython製のシェルとかで「オブジェクトが返せるのでこんな事が出来ます!」みたいなのよく見るけど
結局一番使われるそのへんにある普通のツールはCとかで書かれてて戻り値はint引数はint,char*みたいに文字列での入出力だからあんま意味ないよな

14 :デフォルトの名無しさん:2020/10/28(水) 11:14:32.61 ID:tWb3MY/h.net
>>13
そうなんだよな。ダメじゃないけど既存のツールがテキストで返すから活用できない
PowerShellはエコシステムごと作ったというか、.NETエコシステムを利用する形で
作ったからすごいけど、それは世界が違うわけでシェルスクリプトの代替にはならない

15 :デフォルトの名無しさん:2020/10/28(水) 12:23:29.99 ID:ArgZkv9M.net
テキストでの入出力もできるので代替可能
はい論破

16 :デフォルトの名無しさん:2020/10/28(水) 12:31:40.23 ID:tWb3MY/h.net
>>15
そう思うやろ? 入出力のフォーマットが定まってないからダメなんだよ
指定できるとか加工すればいいとかそういう話じゃなくて
デフォルト、つまりよく使うものが短く書けなければいけない

17 :デフォルトの名無しさん:2020/10/28(水) 15:44:27.80 ID:QKhQ72su.net
例えばifconfigみたいな基本的なコマンドでもOSやディストリビューションごとに出力がまちまちで例外に備えて正規表現書くのは極めて困難(簡単にできると思うなら調べてみるといい)
だからipコマンドが作られたんだけど、他にもそういうコマンドが大量にある

18 :デフォルトの名無しさん:2020/10/28(水) 15:55:49.41 ID:1frzSe55.net
what?

19 :デフォルトの名無しさん:2020/10/28(水) 19:18:18.91 ID:Aw3ALjki.net
>>16
jsonでいいな

はいロンパー

20 :デフォルトの名無しさん:2020/10/29(木) 05:35:30.44 ID:S5hnj3XB.net
JSONは型がない
PowerShellの利点はオブジェクトというより型があること

21 :デフォルトの名無しさん:2020/10/29(木) 19:58:25.73 ID:S5hnj3XB.net
それにUNIX流のパイプは行ベースのデータしか考えてなくて、JSONみたいな階層構造持ったデータをパースするにはjqみたいなクエリー言語使うしかない

22 :デフォルトの名無しさん:2020/10/29(木) 23:18:28.23 ID:Ju4cpcAY.net
bisonを使えばいいんじゃないの?

23 :デフォルトの名無しさん:2020/11/09(月) 23:44:49.49 ID:oZ9iTCpX.net
power shellでも
pythonでも
batから呼び出すしかないの?

ダブルクリックで起動は無理?

24 :デフォルトの名無しさん:2020/11/10(火) 16:12:49.47 ID:Z2TiqNH2.net
シェルスクリプトのためにシェルが
あるわけではないと思うのだけれども…

シェルスクリプトはシェルの処理を自動化する手段でしかない。

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

せやな。そして普段シェルからなんでもやってるよな?

26 :デフォルトの名無しさん:2020/11/10(火) 19:59:23.68 ID:gYpwkl8g.net
なぜシェルの代わりにPythonなどのプログラム言語を使って作業しないのか?
結局の所、シェルのほうが使いやすいってことなんやで

27 :デフォルトの名無しさん:2020/11/10(火) 22:37:49.78 ID:c+4iqUmg.net
OSそのものがシェルスクリプトを使っているからなくなるはずがない。

28 :デフォルトの名無しさん:2020/11/10(火) 22:41:40.72 ID:c+4iqUmg.net
>>26
いつからPythonはシェルがなくても動くことになったのか?

29 :デフォルトの名無しさん:2020/11/10(火) 22:42:26.76 ID:c+4iqUmg.net
>>26
シェルスクリプトのことをシェルと呼ぶのはやめてほしい。

30 :デフォルトの名無しさん:2020/11/10(火) 22:43:37.14 ID:L/We1Z4T.net
シェルスクと言いなさい

31 :デフォルトの名無しさん:2020/11/10(火) 22:50:20.12 ID:c+4iqUmg.net
>>30
キヨスクみたいなもんか?

32 :デフォルトの名無しさん:2020/11/10(火) 22:55:39.76 ID:TotITmpP.net
>>23
ダブルクリックで起動するのに、.vbs ファイルは?

33 :デフォルトの名無しさん:2020/11/12(木) 17:22:07.76 ID:t01TyFyc.net
>>28
pythonってシェルに何か依存してるっけ?
普通にシステムコールとパイプで他のプロセスとやり取りしてると思うが
引数をシェルを通して渡すかとかいう誰も気にしてないだろうオプション(デフォルトでFalse)まであるし
pythonはlsb規格に入ってることだし拡張shよりはポータブルなのでは

34 :デフォルトの名無しさん:2020/11/12(木) 17:23:36.90 ID:t01TyFyc.net
2.7互換で書く必要はあるが

35 :デフォルトの名無しさん:2020/11/12(木) 17:51:00.87 ID:OA6SFmf/.net
>>33
つまりpythonは拡張じゃないshよりポータブルじゃないって言ったのと同じだねw

36 :デフォルトの名無しさん:2020/11/12(木) 18:18:15.05 ID:t01TyFyc.net
((気をつけて書けば)windowsでも動くから)

37 :デフォルトの名無しさん:2020/11/12(木) 19:36:29.64 ID:OA6SFmf/.net
そりゃ大抵の言語が気をつけてればWindowsでも動くだろうねw

38 :デフォルトの名無しさん:2020/11/12(木) 21:02:49.64 ID:3FgSj0vI.net
プロ言にコマンド叩く機能と
FS読み書きとファイルやディレクトリ作成する
機能あればどのプロ言使っても同じ定期

39 :デフォルトの名無しさん:2020/11/12(木) 21:04:26.55 ID:fPsBGnzx.net
つまりアセンブラでも同じといいたい?

40 :デフォルトの名無しさん:2020/11/24(火) 10:20:00.45 ID:gfNKbZsO.net
環境を入れるためのファイルサイズと、その環境で出来る事のってところのコスパ
限られたリソースの中でやらなきゃいけない事ってのはずっと残るんね

41 :デフォルトの名無しさん:2021/03/06(土) 17:58:09.17 ID:jOZnXzPo.net
>>38 意図不明の略語使うのガチの引きこもりっぽくて笑うわ

総レス数 41
10 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★