業務で、たまたまjavaで作られた古のツールに関わる機会があり、「Shellってわかる?」と質問された。
「ターミナルとかで使うコマンド的なアレですよね。。?」とどぎまぎ答えたところ、「まぁ、そんな感じ。」と言われた。
理解力がなさそうな自分に諦めて詳しく話してくれなかったのか。本当にshell==ターミナルのコマンド、ということなのだろうか。
(結論:shellはターミナルのコマンド、ではなかった...!!!)
ShellとShellScriptの違い
「java」と「JavaScript」は「パンとパンダくらい違う」(諸説あり)と認識していたが、ShellとShellScriptについては「カタツムリとナメクジ」的な違いしかないと思っていた。
がしかし。大分様相は異なっていた。
Shellとは
コンピュータのオペレーティングシステム(OS)を構成するソフトウェアの一つで、利用者からの操作の受け付けや、利用者への情報の提示などを担当するもの。
「シェル 【shell】 OSシェル」、IT用語辞典
「シェル」とは英語で「(貝)殻、甲羅」の意味を持つ(「shellとは」、Weblio)ため、何かしら閉ざされて完結したプログラムのことだと思っていたが、固く閉ざされた貝でもガソスタでもなく、OS上で機能する「ソフトウェア」とのことらしい。
Shell Scriptとは
OS(オペレーティングシステム)を操作するためのシェル上で実行できる簡易なプログラミング言語(スクリプト言語)。また、そのような言語によって書かれた、複数のOSコマンドや制御文などを組み合わせた簡易なプログラム。
「シェルスクリプト 【shell script】」、IT用語辞典
まとめ
一言で言うと、
Shellとは「コマンドを通してOSにお願い事をできるソフトウェア」であり、
ShellScriptとは「シェルに命令を自動実行させるファイル」である、
と認識していきたい。
これまで自分は「Shellはコマンド集のようなもん」などとイメージしていたが、「cd」「ls」などShellコマンドが詰まってるだけではなく、主としてはそれをOSに届け、返答してくれる「ソフトウェア」だと認識を改めたい。
また、Shellについて調べる過程で「PowerShell」に遭遇し、「コマンドラインツール」であると知るも、頭がパンクしそうなので、PowerShellについては別記事で書き連ねたい。
おまけ〜今日の植物 「ヤツデ」〜
どこかでみたことはあるけど名の知らぬ植物の名を知ることで得られるかもしれないアハ体験を提供できる可能性を感じ意味もなく添付した。
参照:
個人的に玉ねぎの花の集合体のようで気味が悪いと感じていたこの花とすら認識していなかった花。
縁起がいいとかの理由で植え付けられていたそうな。
ヤツデは別名、「天狗の団扇」とも言われます。天狗が持つ羽団扇は疫病を追い払い、魔除けになるという迷信から、形が似ているヤツデは庭に植えられる事が増えたそうです。
また、
江戸時代から、近隣の家が火事になった時に「貰い火」をして広がるのを防ぐために、我が家を守る手段としてヤツデのような常緑樹を植えていたそうです。
「ヤツデ」、公益社団法人 日本薬学会
どうりで見かけると思ったら実利にかなっていたり、魔除け的な、鬼除けのヒイラギ感覚でも植えられてたのですね。
以上今日の植物でした。