質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

Q&A

解決済

10回答

7874閲覧

シェルスクリプトのことをシェルと呼びますか?

Zuishin

総合スコア28656

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

1グッド

2クリップ

投稿2016/08/16 04:36

UNIXの部屋 コマンド検索: シェルスクリプト

当ページ管理人のネット上・実社会での観測結果によると、「シェルスクリプト」を「シェル」と呼ぶ人のスキルは著しく低い傾向がある。

シェルスクリプトとシェルは全く別のものだと思うのですが、こう呼ぶ人は結構多いのでしょうか?

maisumakun👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答10

0

ベストアンサー

日本語は省略の文化ですので、日本語であれば、省略しても全然かまわないと思います。ただし、それが自明であるという条件が付きますが。

サイトの例文は自明とは言い難いですので、悪い使い方です。このような使い方をしているのであれば、正確性が欠けた人って事でも良いと思います。しかし、例えば、
「このcronに登録されているバックアップの処理って何で作ってんの?」
「シェルです」
みたいな会話だと、まともな人であればシェルスクリプトっていうのをシェルって略したんだなってわかると思います。もし、これを「シェルスクリプトです」と言うのが正しいんだ!と強行に主張するなら、もし、JavaScript(node.js使えばできますからね)でできていたら「ジャバスクリプトスクリプトです」とか言ったのでしょうか…。他にも「そのバックアップの処理をシェルからルビーに書き換えといて」とか言っても普通は通じますよね?逆に「シェルじゃないです、シェルスクリプトです(キリッ」なんて返されると、こいつ、日本語が駄目かもしれん…っと相手の文章読解力を疑います。

「シェル」と「シェルスクリプト」の違いなんて、「Ruby」と「Rubyスクリプト」の違いぐらいしかありません。カテゴリが異なる物ですので、混同さえることは希であり、ほとんどの場合は文脈で省略していることが自明になると思います。ただ、「シェル」には

  • カーネルへのインターフェース部分。
  • 上の具体的な実装に対する総称。コマンドプロンプト、X Window等。

例)WindowsにはCUIのシェルとしてコマンドプロンプトとPowerShellがあります。

  • 上の中で、特にUNIX/LinuxでCUIに使われる物。sh、ash、dash、bash、ksh、zsh、csh、tcsh、fish等。UNIXシェルとも言う。

例)シェルはfishを使ってます。

  • 上の各シェルにおける言語仕様そのものに対する総称。ただし、sh系とcsh系は違いが大きいので、普通は使わず、個別に述べる方が多い。

例)シェルのif文はこのように書きます。

など、文脈によって異なる意味で使われるため、それらと混同される場合はなるべく避けるべきです。私は、シェルだと何を使っているかさっぱりわからないため、具体性をもって「バッシュ(bash)です」等と言うようにしています。

投稿2016/08/16 07:48

raccy

総合スコア21733

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2016/08/16 08:22 編集

私も「何飲む?」と聞かれた時に「ブラック」と省略して言うことがあります。 ただしペットの話をしている時に唐突に「ブラック好き?」と聞くことはありません。 ブラックとブラックコーヒーは全然違うものですから。前者は色で後者は飲み物です。たまたま状況によって違う意味となって通じるだけです。 このような Q&A サイトで自分から質問するのであれば「ブラックコーヒー好き?」と聞きますし、検索するのであれば「ブラックコーヒー」で検索します。また「ブラックって何?」と聞かれたら「すみません、ブラックコーヒーのことです」と言います。 「シェルスクリプトのことをシェルと言いますか?」という質問は、そのような場面を想定していました。 まあ発端となった質問の場合、私がリンク先を見れば済んだ話ではあるのですが、それでも唐突に「シェルを起動」と省略して言うことができ、「シェルって何ですか?」と聞いた時にあざ笑われるほど一般的な省略法なのか気になりました。 少なくとも私は「シェルを起動」と聞いた時に真っ先に頭に浮かぶのはシェルスクリプトではありませんから。 特に質問者が明らかに初心者の場合、とんでもないものを指している場合もあり、用語の確認は必要だと思っています。
raccy

2016/08/16 12:04 編集

「シェルを起動」っていわれたら、私はターミナルやコマンドプロンプトを起動しちゃいますね。QAサイトの質問のような、前提がない所でいきなり使われる場合は使うのは避けるべきでしょうね。でも、これって他の用語でも似たような物で、明らかに混同しているとき以外は目くじら立てるべきじゃないかと思っています。 ただ、文章で起こすときはなるべく省略は避けた方が良いと思っています。私は回答でも気を遣ってますし、Qiitaなんかで記事を書く時もなるべくブレが無い正式名称を必ず使うようにしていますね。
guest

0

その2つの違いが分かっている人たちと話す場合であれば、
「シェルスクリプト」を「シェル」と呼んでも構わないと思います。

ですが、違いの認識があいまいである可能性がある場合、
「シェルを使って~」と言ったときに、「シェルスクリプト」で行うものと
勘違いするケースは発生した記憶があります。
同じチームなら共通認識を持つようにすることもできますが、
少し離れたチームとのやりとりの場合にはそれが難しいです。

私は略するならその文脈では「スクリプト」と言うことが多いです。
その場合、言語は既に特定されていて言語を取り違えることは考えにくく、
「シェル」と略するより意味を取り違える心配が少ないと思うからです。


以下、蛇足ですが...
元記事は、偏見と言うよりも、愚痴の類か、もしかすると意図的な毒(悪意)を含んでいるのでは、と思います。
全く根拠のない推測ですけどね。

投稿2016/08/16 05:47

argius

総合スコア9388

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2016/08/16 05:49

私も「スクリプト」派です。「シェル」派も意外といらっしゃることが分かってためになりました。検索する場合、正確に人に伝えなければならない場合、あらためて意味を問われた場合は「シェルスクリプト」と言います。
guest

0

30年以上前から問題視されているのは、ソフト開発の会社、部署、現場、人によって用語の使い方の方言が著しいということがあります。
また、略称の略し方については更にローカル色が強くなる傾向があります。
そして、シェルスクリプトを略してシェルと言う人がいても、それは特別なことのようには感じられませんがいかがですか。
言葉にはコンテキストが有り、それが明らかな場合意味の重複があっても区別可能なわけでです。これは自然言語だけでなく、より厳格なプログラミング言語でさえ同様です。

「シェルスクリプト」を「シェル」と呼ぶ人のスキルは著しく低い傾向

こんな事を何の前提もなしに一般論化しているのだとすれば、むしろその表現をしている人間の程度が知れるというもの。想像力が不足しているからです。
シェルと言えば明らかに区別できる状況でいちいちシェルスクリプトと言わなければならないのは、場合によっては苦痛ではないですか?

私自身もUNIXで開発を行っていた昔、実行ファイルがバイナリかシェルスクリプトか区別して伝える状況で、これはシェルです、と話す文脈を持つことがありました。
そのようなコンテキストが常態化している環境でしたから、「このコマンドはCじゃなくてシェルで簡単に組めそうだ」なんていう言い方は普通でした。
もちろん、シェルスクリプトはスクリプト、と略す方がやや適切かも知れないという指摘はあるかも知れませんが、だれが言い始めたかは不明ですが既にそのローカルに根付いていた用語になっていましたので。

投稿2016/08/16 05:03

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2016/08/16 05:06

「あなたの言うシェルとはどういう意味ですか?」という質問に対して「普通にシェルで通じるしw」という言葉が返ってくるほど広く根付いているのでしょうか?
退会済みユーザー

退会済みユーザー

2016/08/16 05:43

僕がこれまで多くの場数を踏んでいたとしても、それを[普通」と言い切れるほどの%を占めているとはとうてい思えませんし、意図的に統計を取るような作業でもしなければ答えることができるはずはないと思いますが。 あるいは、影響力の強い複数の雑誌や書籍などにそういった記載があればそれは「普通」と言える根拠になるかも知れませんが、僕は少なくとも読んだ記憶はありません。 > 「普通にシェルで通じるしw」 こんないかにもな回答をする人が本当にいるのかどうか知りませんが、もしそう言われたならその人の「普通」の範囲を推し量って密かにバカにしておけば、こんなところにわざわざ質問する必要もないと思いますが。1例あるのだから、そういう人もいるのか、でいいと思います。 つまらない話ついでですが、知り合いのエンジニアが、C言語のキーワードでcharを「ちゃー」or「ちゃら」と読む目上の人がいたようで、それが気に食わぬとたいそうお腹立ちになってトラブルになっていました。でも、その当人だってenumをイーナム(これは略号ではなく英単語のフルスペルなのでイニュームと発音する方がが自然)と読むし。 もっとそれぞれのローカルを尊重し合う方が世の中下らないいざこざを起さずに済むと思うのですがねぇ。
tritankn

2016/08/16 05:45

>こんな事を何の前提もなしに一般論化しているのだとすれば、むしろその表現をしている人間の程度が知れるというもの。想像力が不足しているからです。 >シェルと言えば明らかに区別できる状況でいちいちシェルスクリプトと言わなければならないのは、場合によっては苦痛ではないですか? 同意です。
tritankn

2016/08/16 08:42

Zuishinさん、貴方が言ったのは、 >「あなたの言うシェルとはどういう意味ですか?」 ではなく、以下ですよ。 だいぶ表現に違いがありますね。 ご自身の発言は正確な表現でなくて良いのですね。 >まずはシェルという言葉の意味がわかりません。一般的に使われている意味で読むと話が通じませんので、用語を整理した上で正確な言葉で書き換えて下さい。 https://teratail.com/questions/44440
Zuishin

2016/08/16 08:47 編集

意味は同じだと思いますが、表現が違う(悪い)というなら元々の文に訂正して読んでください。
tritankn

2016/08/16 08:47

>この程度のことを質問しなきゃわからないような素人にはちゃんと聞いておかないとね。 あとこのような発言は如何なものでしょうかね。
Zuishin

2016/08/16 08:49

そうですね。あなたの発言と同じく不適切でした。言い直します。「このような質問をするレベルの初心者にはちゃんと用語を確認する必要があります」
tritankn

2016/08/16 08:50

>意味は同じだと思いますが、表現が違う(悪い)というなら元々の文に訂正して読んでください。 これを貴方が言うんですね・・笑
Zuishin

2016/08/16 08:51

何か問題がありますか?
Zuishin

2016/08/16 22:32

cafelasm さんを無視したような形になり、すみませんでした。ローカルを尊重しあうまではいかなくても、気に入らなくても許容しあうくらいはありたいものだと思っています。うまくできているかと言われればできていないかもしれません。 今回はシェルが何を意味するものか聞いたところ、一方的に(今まで聞いたこともなかった)ローカルルールを押し付けられた気分で、こういう時は私もあまり尊重できていないと思います。 ところで、char の発音は前々から気になっていたことの一つなので、質問にさせていただきました。お知り合いは「キャラ」派のようですね。 あと余計なことですが、enum は略語ではないでしょうか?「インターネット上のドメイン名で公衆交換電話網の電話番号を表現するための規格」くらいしか見つけられませんでした。
退会済みユーザー

退会済みユーザー

2016/08/16 23:08

enumはcharと同様の略号でしたね。失礼いたしました。characterが日本語でキャラクター、それをcharと略せばキャラ、と読むのが自然に思えるのは日本人だからかも知れません。あと、チャラってなんかチャラい、の略みたいでバカっぽい語感が嫌われる理由になりそうですね。 enumerate(イニュームレート)の略でenumですから、charがキャラならこれも同じ理由でイニュームになると思うのですが、イーナムと読むのはもしかするとe~と numberの2つの単語が合わさった略号だと勘違いしているのかな? とも思われます。 他にも、gets() をゲッツと読む人もいますが、get string の略と考えるとゲットエスと読む方が分りやすいのかな、とも思えます。 伝統的に? hosts というファイルがありますが、こちらはhostの複数形でhostsと思われますが、これをホストスと読む人がいました。これは単に英語を知らないだけと思われます。 どんどん元の話題を離れますが、ASUSは僕は最初エイサスだと思っていました。まぁ、固有名詞なのでどうでもいいのですが、アーサスと発音するのを聞いたこともありますし、どうやら現在エイスースと読ませるらしいですね。個人的にはなんか恣意的でかっこ悪いなぁ~という印象です。DENONもデンオンで育ったので今更デノンと発音するのはなんかちょっと背中がむずむずしてしまいます。 まぁ、日本語の方言のように、IT方言もいろいろ調べて楽しむのも一興かもしれませんね。
Zuishin

2016/08/16 23:18

英語ではありませんが、cannon はキヤノンと書いてキャノンと発音するとかもなかなかエキセントリックですね。「この言葉を作った人はどう読んでいたんだろう」と気になるものもたくさんあります。
guest

0

「PHPが書ける人」というのが、「PHPの処理系を作成できる人」じゃなくて「PHPでプログラムが書ける人」を意味するのに違和感がないとすれば、「シェルを書ける人」が「シェルでスクリプトを書ける人」を意味しても違和感ないはずです。そこから、「シェルで書かれたスクリプト」を「シェル」と呼ぶのはあと一歩です。

ただ、「PHPを書いたんですが、うまく動きません」という人はめったに見ないのに、「シェルを書いたんですが、うまく動きません」という人が多いのは何故なんでしょうかね。

投稿2016/08/16 14:44

otn

総合スコア84380

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2016/08/16 15:05 編集

「PHP が書ける」は違和感ありませんが、「シェルが書ける」は違和感があります。何なんでしょうね? やっぱり今までの環境の違いでしょうか? 「シェルが書ける」と聞くと「bash や cmd が作れるんだ」と思ってしまいます。 しかし仮にシェルと呼ぶ人がいたとして「それはシェルスクリプトだろ?」といちいち言いはしないと思います。 ただし「そのあなたの言うシェルって何のこと?」と聞いたときには「bash のスクリプト」「bat」「ps1」と答えて欲しいです。 こちらが尋ねたと言うことは、意志の疎通ができていないということなので。
guest

0

「シェルスクリプト」を「シェル」と呼ぶ人には会ったことありませんが、
長い名前の前の方をとって略称とする傾向は確かにあると思います。
個人的には、それで通じるならいいんじゃないの?
って感じですが、そういうケースもあるということで
参考になりました。

投稿2016/08/16 09:14

takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2016/08/16 09:19

そうですね。必要な人に通じたようなので、その質問はそれでいいんでしょう。「万人に通じるのか? 聞いたことない私が少数派なのか?」という疑問がありました。
guest

0

ご提示頂いているサイト拝見しました。
シェルと呼称することがスキル貧弱との判断は難しいと考えており、他ご回答者様が言われている通りおかれた環境にもよるのでしょう。

シェルスクリプトとシェルは全く別のものだと思うのですが、こう呼ぶ人は結構多いのでしょうか?

私は仕事関連ではお見受けしたことはありません。

発端となったやり取りも見ました。
それを前提に以下持論です。

文化圏の違う人とのやり取りにおいて言葉は重要だと考えています。
また、正しいテクニカルタームを使うことで
・やり取りの手間を減らす
・その人の資質評価にもなる(実際のスキルは別としてですが)
というのは価値ある払うべき労力ではないでしょうか。
(この業界は理屈っぽい方が多いので尚更)

少なくとも私はエンジニアリングの場において、明らかに間違ったテクニカルタームを使っている方に対しての疑念は払えません。

投稿2016/08/16 08:58

over

総合スコア4309

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2016/08/16 09:11

環境によるということですね。そのような環境があることは質問して初めてわかりました。どうも私とその管理者さんの偏見のようですね。 ちなみに私は何にでも「ちょーまじやべー」という言葉を使う人を見ると「バカっぽい」と感じてしまいます。これは完全に偏見ですね。
guest

0

当質問は、本日私が投稿した以下質問から来ているようです。
https://teratail.com/questions/44440

他の方も書いてますが、
モノの呼び方なんて時代やら環境やらでいくらでも変わってくるでしょうし
これはこうだ!という拘りは、ご自身だけでなく、周りも疲れてしまうと思いますよ。

ちなみに私の周りはシェルと呼んでます。
それが正しいかどうかは正直どうでもいいです。それでちゃんと意思疎通出来てるので。

投稿2016/08/16 05:39

tritankn

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/08/16 09:44

この質問はどうでもいいですが、元の質問、修正してもらえませんか? shellは別に意味があり、シェルスクリプトでは無いことは理解されていると思います。 検索から来る方も結構いるサイトであることを意識して、万人に通じる質問としておいて下さい。 今のままだと、ナレッジとして共有することの出来ない質問となっています。 *せっかく回答も付いているのに無駄になります。 ここの意義は相互協力です。 同じ事で悩む方の解決に一助となる可能性があることを理解された上で使用する必要があると思います。
退会済みユーザー

退会済みユーザー

2016/08/16 11:22

横から失礼します。 元の質問を拝見しましたが、文脈を見るに誰が見てもシェルスクリプトと読み取る事が出来ると思いますよ。 一方Zuishinさんの発言は揚げ足取りや、失礼な発言が多々見られ、 むしろ訂正・削除すべきはZuishinさんの発言だと思います。 さらに当質問に至っては「問題・課題が含まれていない質問」等の理由から低評価が複数ついているようです。 どちらの発言が相互協力の場に相応しくない発言か、自明ですよね。
退会済みユーザー

退会済みユーザー

2016/08/16 11:48

タイトルの「shellから別shellの呼び出し」でシェルスクリプトを想定する人は少ないです。 普通は、「shellから別shellを起動したい」と読みとります。 Zuishinさんの発言が失礼かどうかは質問の修正に関与しません。 コメントしたように、「shellから別shellの呼び出し」という質問が同じ質問を持つ方の役に立つよう、内容を的確に想像することが可能で、万人が共通理解とできる単語があるので、そちらに置き換えて欲しいとお願いしているだけです。 そもそも質問する際に、そのあたりが的確に伝わるように丁寧に書くのはマナーです。 > さらに当質問に至っては「問題・課題が含まれていない質問」等の理由から低評価が複数ついているようです。 この質問はどうでもいいです。Zuishin さんはよくこういった遊びをしているので。
Zuishin

2016/08/17 08:18 編集

BAN されてコメントもほとんど消えましたね。
退会済みユーザー

退会済みユーザー

2016/08/16 12:15 編集

anakin1155 さんがなぜ修正依頼の邪魔をするのか分かりませんが、言葉の選び方で勘違いする可能性がある場面では、勘違いしない言葉を選ぶべきです。 コミュニケーションの基本です。 Zuishin さんの発言が失礼かどうかはどうでもいいです。 回答してくれた otn さんに敬意を払って、回答が生きるように、タイトル、本文を修正して欲しいと思ってます。
guest

0

多いと思いますね。
僕が業界1年目のころ、シェルという言葉の意味が中々分からなかったので、
何度も何度も調べた記憶があります。

ところが、調べれば調べるほど周りで使われているシェルという言葉の意味が
分からなくなっていきました。
周りは明らかにシェルスクリプトの事を言っているのです。

そこで僕は質問しました。
「シェルはWindowsでいうと、例えばエクスプローラだったり、はたまたGUIそのものの事ですよね?」
「シェルはWindowsで言うと、batファイルのことだよ」

非常に多くの方からこの回答をもらいました。

だから、僕は周りがシェルと言うと、
もうシェルスクリプトの事を言っていると思うようにしています。
もちろんある程度文脈からの予測はしますが。

投稿2016/08/16 05:13

編集2016/08/16 05:24
root_jp

総合スコア4666

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2016/08/16 05:14

ほう、そうなのですか。 今までそのような使い方を見たことも聞いたこともなかったのでびっくりです。
root_jp

2016/08/16 05:20

僕も、みんなシェルとシェルスクリプトを分けて使っていると知って、 びっくりしたと同時に羨ましい環境だと思いましたw
ynakano

2016/08/31 08:43

> 「シェルはWindowsで言うと、batファイルのことだよ」 さすがにこれは訂正されるべきかと。
root_jp

2016/08/31 14:24

何を訂正すればいいでしょうか? 「こう呼ぶ人は結構多いのか?」に対する答えとして 「シェル=Windows の bat 」と答える人が私の周りに多くいたという事実を根拠に 「多いと思います」と返答しているのですが、どこかおかしいですか?
ynakano

2016/08/31 14:32

"シェル=バッチファイル"という認識は誤りであると指摘した方がよいですね、という意味でコメントしました。 言葉足らずで大変申し訳ありませんでした。
guest

0

シェルはインターフェイスで、シェルスクリプトはシェルの為に書かれたスクリプトだと思うので、私はシェルスクリプトと区別して呼んでいます。
過去に会ったエンジニアの方でも、混同していた方は記憶に無いので私の廻りではあまりいないと思います。

投稿2016/08/16 04:47

ac-5

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2016/08/16 04:55

私も初めて聞きました。シェルという言葉もシェルスクリプトという言葉も一般的に使うだけに驚きでした。
guest

0

聞いたこと無いけど、記事は偏見に満ち溢れているなというのが感想ですね。

JavaとJavaScriptの区別がついていない人も多いのでしょうがないとは思うけど。

投稿2016/08/16 04:45

Mr_Roboto

総合スコア2208

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2016/08/16 04:53

偏見かもしれませんね。しかし、私も同じ偏見を持っています。特に「あなたのおっしゃったシェルはどういう意味ですか?」と聞いた時に「普通シェルで通じるしw」という答えが返ってくるようだと、この人は向いてないなと感じます。 この質問をしたのは、それが本当に偏見なのか、それとも腕の立つエンジニアでもシェルという呼び方が一般的なのかどうかを知りたかったのです。
Mr_Roboto

2016/08/16 05:03

なるほど、質問の意図は分かりました。 方向性は違いますが、私も偏見はあります。 しかしことさら記事にして声高にするほどのスキルは高くありませんのでねぇ。 長いこと正しい思い込んでた勘違いとかいくらでもあるし、 一般的に常識とされていた知識が古くなってて間違いになっているとか、 言葉遣いに関して言えばもっと話がややこしくなる領域に入るので 私はあまり気にしないことにしています。 あと人のことどうこう言う前に自分はどうなんだという戒めを持つようにはしていますね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問