■ このスレッドは過去ログ倉庫に格納されています
なぜシェルスクリプトは今も生き続けてるのか?
- 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 ★