ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
インストール
ブラウザよりも高速アクセス!
 

BashとC Shell

ショートカット: 違い類似点ジャカード類似性係数参考文献

BashとC Shellの違い

Bash vs. C Shell

BashはUnixシェルかつであり、GNUプロジェクトにおけるBourne Shellのフリーソフトウェアによる代替としてによって作成された 。Bashは1989年に初めてリリースされ 、ほとんどのLinuxディストリビューションやアップルのmacOSにおけるデフォルトのログインシェルとして広く普及している。Windows 10におけるWindows Subsystem for Linuxでも利用可能である。 Bashはコマンドプロセッサであり、通常はアクションを発生させるコマンドをユーザーがタイプするテキストウィンドウで起動する。Bashはスクリプトと呼ばれるファイルからコマンドを読み込んで実行することも可能である。Bashはそれ以外の全てのUnixシェルと同様に、ファイル名のグロブ(ワイルドカードによるマッチング)、パイプ、ヒアドキュメント、、変数、そして条件テストやのための制御構造をサポートする。Bashのキーワードや構文などの言語の基本的要素は全てshからコピーされており、ヒストリなどsh以外の機能はcshやkshからコピーされている。BashはPOSIX準拠のシェルであるが、数多くの拡張がされている。 Bashという名前はBourne-again shellの頭字語であり、Bashの置換対象であるBourne Shellと、現代アメリカのキリスト教において精神的な再生を意味する "born again"(新生)に引っ掛けた駄洒落である。 バージョン1.03(1989年8月)以降のBashに存在するシェルショックと呼ばれるセキュリティホールが2014年9月に発見され、すぐにインターネットの至る所で広範囲なの原因となった。バグの特定後すぐに修正パッチが利用可能となったが、未だに全てのコンピュータが更新されているわけではない。. C shell(シーシェル、csh)は、カリフォルニア大学バークレー校の大学院生だったビル・ジョイが1970年代後半に開発したUnixシェルである。1978年にジョイが配布を始めた 2BSD という BSD UNIX のリリースで広く配布されることになった。他にアイデアやコードに貢献した者としては、マイケル・ウベル、エリック・オールマン、マイク・オブライエン、ジム・カルプがいる。UNIX V6 の /bin/sh を元に作られたもので、Bourne shell (UNIX V7)と共通の先祖を持つ。 通常テキストウィンドウ内で動作するコマンドラインインタプリタであり、ユーザーがコマンドを入力するとそれに応じた処理が実行される。またシェルスクリプトと呼ばれるファイルからコマンド群を読み込むこともできる。他のUnixシェルと同様、ファイル名のワイルドカード、パイプ、ヒアドキュメント、、変数、条件分岐やループなどの制御構造をサポートしている。cshが1980年代の他のシェルと異なっていた点は、対話向けの機能と全体的なスタイルである。新機能によって他のシェルよりも容易に素早く使うことができた。言語としての全体的スタイルはC言語によく似ており、Unixユーザーにとっては読みやすかった。 macOS や Red Hat Linux など多くのシステムのcshは実際には改良版のtcshである。tcshの実行ファイルは "csh" と "tcsh" の両方にハードリンクされていて、どちらの名前でも同じ改良版のtcshが呼び出される。 Ubuntuではcshとtcshの2種類のパッケージを用意しており、前者はオリジナルのBSD版csh、後者は改良版のtcshとなっている。 tcshには、ファイル名やコマンドの補完機能、Tenexシステムに由来するコマンド行編集があり、名称の先頭の "t" は Tenex に因んでいる。tcshは機能を追加しただけでオリジナルのcshを修正したわけではないので、後方互換を保っていた。当初はジョイが作ったオリジナルのソースツリーからの脇枝だったが、今ではtcshが主な枝となっていて、開発が継続されている。tcshは非常に安定しているが、主に細かいバグ修正のため、およそ1年に1回の頻度で新たなリリースがなされている。.

BashとC Shell間の類似点

BashとC Shellは(ユニオンペディアに)共通で22ものを持っています: 変数 (プログラミング)リダイレクト (CLI)ワイルドカード (情報処理)パイプ (コンピュータ)ヒアドキュメント制御構造コマンドラインインタプリタシェルスクリプトBourne ShellC言語終了ステータス環境変数駄洒落If文KornShellLinuxMacOSMicrosoft WindowsPOSIXTcshUNIXUnixシェル

変数 (プログラミング)

プログラミングにおいて、変数(へんすう、variable)とは、プログラムのソースコードにおいて、扱われるデータを一定期間記憶し必要なときに利用できるようにするために、データに固有の名前を与えたものである。 一人一人の人間が異なる名前によって区別されるように、一つ一つの変数も名前によって区別される。これにより、複数のデータを容易に識別することができる。変数名は一般に(字句的には)識別子である、ないし、変数の識別子のことを変数名という。一般に、変数が表しているデータをその変数の値(あたい)という。.

Bashと変数 (プログラミング) · C Shellと変数 (プログラミング) · 続きを見る »

リダイレクト (CLI)

ンピューティングにおいて、リダイレクト(英語:Redirect)とはリダイレクションを行うこと。リダイレクションとは、様々なシェルを含むほとんどのコマンドラインインタプリタに共通の機能であり、標準ストリームをユーザで指定した位置に変更する機能のこと。 プログラムはdup2(2)システムコールまたはより柔軟でレベルの高い類似物であるfreopen(3)およびpopen(3)によってリダイレクトする。.

Bashとリダイレクト (CLI) · C Shellとリダイレクト (CLI) · 続きを見る »

ワイルドカード (情報処理)

ンピュータなどの関連において、ワイルドカードは、検索などグロブの際に指定するパターンに使用する特殊文字の種類で、どんな対象文字、ないし文字列にもマッチするもののことである。カードゲームのワイルドカードに由来する呼称。 UNIXのシェルでは、「?」(疑問符)を任意の一文字、「*」(アスタリスク)を長さ0文字以上の任意の文字列にマッチするパターンとして、コマンドライン上で、存在するファイルの名前に対して展開される。 たとえば sales-201712.xlsx、sales-201801.txt、sales-201802.txt というファイルがある場合、 コマンドを入力すると、 のように展開されたうえで、vi プログラムが起動される。 MS-DOSやその衣鉢を継いだMicrosoft Windowsのシェルプログラム COMMAND.COM ではこのような展開を行わず、ワイルドカードはプログラムのプロセスにそのまま渡される。COMMAND.COM の内部コマンドにおける解釈では、ファイル名の途中で * があると、そこから拡張子のピリオドまでマッチをすっ飛ばし、全てマッチしたものとみなすので、FOO*BAR というパターンは FOO* と全く同じ意味である。また、REN *.TXT *.BAK といったようなコマンドに対しては的な挙動をする。 SQLの WHERE 句における LIKE predicate 中のパターンでは、長さ0文字以上の任意の文字列が「%」、任意の一文字が「_」である。 正規表現におけるクリーネ閉包とは似て非なるものであり混同してはいけない。.

Bashとワイルドカード (情報処理) · C Shellとワイルドカード (情報処理) · 続きを見る »

パイプ (コンピュータ)

ある端末上で3つのパイプで繋いだプログラムを実行する際の入出力の流れ Unix系オペレーティングシステムにおけるパイプ(pipe)、もしくはパイプライン (pipeline) とは、複数のプログラムの入出力をつなぐための仕組み(プロセス間通信)の一つである。大変便利であることからUnix系以外でも同様の実装や、あるいは擬似的な実装によって似たようなことができるものも多い。直接の親子関係にあるプロセス間で通信をおこなうためfork前にあらかじめ共有しておく「無名パイプ」と、親子関係などにないプロセス間で一時ファイルなどを通して接続する(接続を確立するためにファイルを経由するだけで、接続自体はファイルを経由するわけではない)「名前付きパイプ」がある。ダグラス・マキルロイがUnixシェル向けに考案したことから始まり、パイプライン輸送からの連想で名付けられた。 特に、シェルなどでは縦棒( | )の記号を使って無名パイプを簡単に利用でき、それを指して「パイプ」と言うことも多い。プロセス群の標準ストリームを連鎖的に相互接続するもので、あるプロセスの標準出力 (stdout) を直接別のプロセスの標準入力 (stdin) に接続する。 「1つだけの仕事をうまくやる、道具のようなソフトウェア」(Software Tools)をパイプラインによって組み合わせる、というアイデアはUNIXやUnix系のOS以外にも、MS-DOS をはじめとする様々なOSやアプリケーションに、動作に多少の違いはあるものの受け継がれている。パイプで連結することを前提とした構成のプログラムをフィルタと呼ぶ。 前述のシェルのコマンドラインにおけるパイプは、中置記法で結合法則を満たす演算子と見ることができる(その時、演算子(オペレータ)のオペランドにあたるのは、各プログラムである)。これを一種の「合成」と見ることもできる。一般に数学で、f, g, h という関数があるとして h(g(f(x))) というような計算をすることを考える時、関数を関数合成の演算子 ∘ で合成した (h∘g∘f)(x) というものを考えることがあるが、パイプの演算子 | はこれに似ており (progF あるいは (progF | progG | progH) といったような感じになる。.

Bashとパイプ (コンピュータ) · C Shellとパイプ (コンピュータ) · 続きを見る »

ヒアドキュメント

ヒアドキュメント(別の呼び方としてヒア文字列、heredocなど)は、文字列リテラルを、シェルスクリプトやプログラミング言語の中に埋め込むための1つの方法である。.

Bashとヒアドキュメント · C Shellとヒアドキュメント · 続きを見る »

制御構造

制御構造(せいぎょこうぞう)は、コンピュータ・プログラミング言語、特に手続き型プログラミングや命令型プログラミングにおいて、ループや飛び越しなどといった、手続き(プロシージャ)中の実行順を順次実行から変化させたり、サブルーチン呼出しやその戻り、などといった制御を行う「文 (プログラミング) 」などの構造(言語の構成要素)である。 制御構造の種類は言語によって様々だが、典型的には以下のようなものがある(用語「ブロック」については、ブロック (プログラミング) の記事を参照)。.

Bashと制御構造 · C Shellと制御構造 · 続きを見る »

コマンドラインインタプリタ

マンドラインインタプリタ は、コンピュータのコマンドライン、すなわち、ユーザによりキーボードなどから入力される文字列の行(ライン)のコマンドを解釈し、オペレーティングシステム(以下、OS)やプログラミング言語処理系などに渡す、コマンドラインインタフェースであり、キャラクタユーザインタフェースを構成する要素である。OSの標準ユーティリティとしてはコマンドラインシェルがあり、いくつかのプログラミング言語処理系が持つそれに関しては:en:Read–eval–print loopも参照。.

Bashとコマンドラインインタプリタ · C Shellとコマンドラインインタプリタ · 続きを見る »

シェルスクリプト

ェルスクリプト (shell script) は、オペレーティングシステムのシェルまたはコマンドラインインタプリタ向けに書かれたスクリプトである。シェルスクリプトは他のツールを組み合わせるためのグルー型のドメイン固有言語とみなされることもある。シェルスクリプトで書かれる典型的処理としては、ファイル操作、プログラム実行、テキストの印刷などがある。 シェルスクリプト用インタプリタの多くはコマンドラインインタフェースも兼ねており、各種Unixシェル、Windows PowerShell、MS-DOSのCOMMAND.COMなどがある。他にAppleScriptやグラフィカルな Windows Script Host (WScript.exe) などもあり、コマンドラインインタフェース抜きでコンピューティング環境にスクリプト機能を加えている。他のシェルスクリプト向けのプログラミング言語としては、とJCLなどがある。.

Bashとシェルスクリプト · C Shellとシェルスクリプト · 続きを見る »

Bourne Shell

Bourne Shell(ボーンシェル)は、Unix Version 7 のUnixシェルである。多くのUnix系システムでは現在もデフォルトのシェルとして一般に使われていて、ほとんどのシステムで、/bin/shは、Bourne Shellであるか、もしくは、その互換プログラムへのシンボリックリンクかハードリンクとなっている。 AT&Tベル研究所のスティーブン・ボーンが開発し、それまでの Thompson shell を置き換えた。いずれもコマンド名は sh である。Version 7 Unix の一部として1977年に大学等に配布された。対話型のコマンドインタプリタとしても使われるが、スクリプト言語としての性格が強く、一般に構造化プログラムを作り出すと考えられている全ての機能を含んでいる。 ブライアン・カーニハンとロブ・パイクによる『UNIXプログラミング環境』の出版が Bourne Shell の人気を高めた。これはチュートリアル形式でプログラミング言語としてのシェルを紹介した最初の商業出版本である。.

BashとBourne Shell · Bourne ShellとC Shell · 続きを見る »

C言語

C言語(シーげんご)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発したプログラミング言語である。英語圏では単に C と呼んでおり、日本でも文書や文脈によっては同様に C と呼ぶことがある。.

BashとC言語 · C ShellとC言語 · 続きを見る »

終了ステータス

ンピュータプログラミングにおけるプロセスの終了ステータス(英: )またはリターンコード(英: )とは、子プロセス(または呼び出された側)が具体的な手続きや委任されたタスクを実行完了した際、親プロセス(または呼び出した側)に渡す小さな数である。MS-DOSのCOMMAND.COMではERRORLEVELという。 プログラムを実行するとき、オペレーティングシステム (OS) はプロセスと呼ばれる、プログラムの「活動実体」を生成し、その中にそのプログラムのための情報を保持する。UNIXやLinuxなどのマルチタスクOSでは、新たなプロセスは動作可能プロセスとして生成される。別のプロセスを生成するプロセスを「親プロセス」と呼び、生成された側を「子プロセス」と呼ぶ。子プロセスと親プロセスは同時並行的に動作する。子プロセスが実行完了したとき、システムコールを呼び出すことで終了する。このシステムコールが終了ステータスのコードを親プロセスに渡す役割を果たし、親プロセスはシステムコールでその値を受け取ることができる。.

Bashと終了ステータス · C Shellと終了ステータス · 続きを見る »

環境変数

境変数(かんきょうへんすう、environment variable)はオペレーティングシステム (OS) が提供するデータ共有機能の一つ。OS上で動作するタスク(プロセス)がデータを共有するための仕組みである。特にタスクに対して外部からデータを与え、タスクの挙動・設定を変更するために用いる。.

Bashと環境変数 · C Shellと環境変数 · 続きを見る »

駄洒落

洒落(だじゃれ)とは、同じ或いは非常に似通った音を持つ言葉をかけて遊ぶ一種の言葉遊び。 雑俳の1つとしての『洒落』は言葉の一部分を母音とイントネーションが同じ語、母音が同じ語、同音異義語などを当てはめるものである。例「蝶々一本さらしに巻いて(包丁一本サラシに巻いて)」。言葉遊びの『洒落』は知識と教養を示す気の利いたものであったが、これに価値を認めることのないカウンターカルチャーからの揶揄を込めて『駄』の文字を冠した。洒落の文化が失われるにつれ、それを文化として持たない若者からはオヤジギャグと称されるようにもなる。古くは地口とも。 判りやすい遊びの一種であるため、様々な語彙を使用してこの駄洒落が利用される。.

Bashと駄洒落 · C Shellと駄洒落 · 続きを見る »

If文

if文(イフぶん)はプログラミング言語において、真理値に従って「もしXならば、Yせよ、さもなくばZせよ」というような条件実行の「文 (プログラミング) 」で、制御構造のひとつである。if else文と呼ばれることもある。 具体的な構文はプログラミング言語によって異なるが一般的に、条件式と、条件式の評価結果の値が「真として扱うべき値」の場合に実行される「then節」と呼ばれる部分があり、「偽として扱うべき値」の場合に実行されるelse節と呼ばれる部分が付く場合もある。 then節とelse節が式になる「条件演算子」がある言語も多い。言語によってはifが文ではなく、条件演算子と同様の「if式」である言語もある。.

BashとIf文 · C ShellとIf文 · 続きを見る »

KornShell

KornShell(コーンシェル、ksh)は、Unixシェルの一種であり、1980年代初期にベル研究所のが開発し、1983年7月14日のUSENIX年次大会で発表した。初期にはベル研究所の開発者マイク・ヴィーチとパット・サリヴァンも開発に関わり、それぞれ入力行編集モードのEmacsスタイルとviスタイルのコードを書いた。Bourne Shellに対して完全上位互換であり、コマンド履歴などのC Shellの機能の多くも取り入れている。彼はベル研究所内のユーザーの要望を受けてkshを開発したと言われている。.

BashとKornShell · C ShellとKornShell · 続きを見る »

Linux

Linux(リナックス、他の読みは後述)とは、Unix系オペレーティングシステムカーネルであるLinuxカーネル、およびそれをカーネルとして周辺を整備したシステム(GNU/Linuxシステムも参照)である。.

BashとLinux · C ShellとLinux · 続きを見る »

MacOS

macOS(マックオーエス)は、アップルが開発・販売する、Macのオペレーティングシステムである。かつての名称はOS X、Mac OS Xであった(後述)。 技術的に直系ではないが、Classic Mac OS (Mac OS、System) の後継として、新たにBSD系UNIXをベースに開発された。.

BashとMacOS · C ShellとMacOS · 続きを見る »

Microsoft Windows

Microsoft Windows(マイクロソフト ウィンドウズ)は、マイクロソフトが開発・販売するオペレーティングシステム (OS) の製品群。グラフィカルユーザインタフェース (GUI)を採用している。.

BashとMicrosoft Windows · C ShellとMicrosoft Windows · 続きを見る »

POSIX

POSIX(ポシックス、ポジックス、Portable operating system interface)は、各種UNIXを始めとする異なるオペレーティングシステム (OS) 実装に共通のアプリケーションプログラミングインタフェース (API) を定め、移植性の高いアプリケーションソフトウェアの開発を容易にすることを目的としてIEEEが策定したAPI規格である。POSIXという名前はリチャード・ストールマンがIEEEに提案したものである。末尾の「」はUNIX互換OSに「」の字がつく名前が多いことからつけられた。ISO/IEC JTC 1/SC 22でISO/IEC 9945として国際規格になっている。.

BashとPOSIX · C ShellとPOSIX · 続きを見る »

Tcsh

tcsh(ティーシーシェル)は、Unix系オペレーティングシステム (OS) で使われるコマンドシェルの一つ。 C言語に似た文法特性を持つcsh(シーシェル)のユーザーインターフェイスの部分を中心に拡張されたシェルでcshとの上位互換を持つ、ヒストリ編集などの機能に優れ、簡単なC言語ソースコードの文法チェックに使われることもある。Unix系OSで用いられる他のシェルに比べて、NLS (Native Language System) などの国際化対応にいち早く対応したことで知られる。 なお、tcshの頭文字のTは、TENEXならびにTOPS-20に由来するという。.

BashとTcsh · C ShellとTcsh · 続きを見る »

UNIX

UNIX (ユニックス、Unix、)は、コンピュータ用のマルチタスク・マルチユーザーのオペレーティングシステムの一種である。公式な商標は「UNIX」だが、商標以外の意味として「Unix」、またはスモールキャピタルを使用して「Unix」などとも書かれる。Unixは1969年、AT&Tのベル研究所にて、ケン・トンプソン、デニス・リッチーらが開発を開始した。 当初はアセンブリ言語のみで開発されたが、1973年にほぼ全体をC言語で書き直した。このため、Unixは歴史上、初めて高水準言語で書かれたOSであると言われる。 1973年の段階ではPDP-11に依存したコードが多く、移植性は低かったが、その後徐々にPDP-11に依存したコードを減少させ、1978年にInterdata 8/32への移植に成功して以降、徐々に他のプラットフォームにも移植されていった。 現在では「Unix」という語は、Unix標準に準拠するあらゆるオペレーティングシステムの総称でもある。現在ではUnixシステムは多数の系統に分かれており、AT&Tの開発停止後も、多数の商用ベンダーや非営利組織などによって開発が続けられている。 1970年代から1980年代の初期にかけて、Unixは大学や研究所などの教育機関で広範囲に採用され、特にカリフォルニア大学バークレー校をオリジナルとするBSD系統が誕生した。また Version 7 Unix や UNIX System V の特徴を持つオペレーティングシステムは「伝統的なUNIX」(traditional Unix)とも呼ばれる。 2007年に、「UNIX」の商標の所有者である標準化団体のThe Open Groupは、Single UNIX Specificationを完全に満たすと認証を受けたシステムのみが「UNIX」の商標を得られるとした。このためそれ以外のシステムは(ずっと以前から、AT&T版およびBSD以外を指して使われていた用語だが)「Unixシステムライク」または「Unixライク(Unix系)」と呼ばれるようになった。ただし The Open Groupはその呼称を気に入っていない。 現在では多く使われているUnixとしてはmacOS、AIX、HP-UX、Solarisなどがある(いずれも商用)。また認証を受けていないUnix系としてはLinux(派生OSにAndroid他)やMINIX、BSDの派生OS(FreeBSD、NetBSD、OpenBSD、DragonFly BSDなど)がある。.

BashとUNIX · C ShellとUNIX · 続きを見る »

Unixシェル

Unixシェルは、Unix系システムにおけるコマンドラインシェルである。プロセスとして起動したい1個ないし複数のコマンド名をパイプラインなどとしてつなげた「ジョブ」を記述したり、それを複数並べたテキストファイルによるシェルスクリプトを実行する。 最も影響を与えたUnixシェルとしては、Bourne Shell と C Shell がある。Bourne Shell は単に sh と呼ばれ、AT&Tでスティーブン・ボーンが開発したUNIX本来のコマンドラインインタプリタである。パイプ、ヒアドキュメント、、変数、条件式やループといった制御構造、ワイルドカードによるファイル名指定などの機能が他の全てのUnixシェルに共通する機能の出発点となった。言語としては、ブロックの終りを逆から綴った (ファイル)キーワードで示すなど、ALGOL 68 に影響を受けている。 C Shell (csh) はビル・ジョイがカリフォルニア大学バークレー校の大学院生のときに開発した。C言語をモデルとして制御構造や式の文法を設計している。対話型シェルとして、ヒストリ機能、編集機構、エイリアス、ディレクトリスタック、チルダ記法、cdpath、ジョブコントロール、パスハッシングといった機能を導入した。 これら2つのシェルがベースとなって、様々なシェルが派生していった。.

BashとUnixシェル · C ShellとUnixシェル · 続きを見る »

上記のリストは以下の質問に答えます

BashとC Shellの間の比較

C Shellが72を有しているBashは、79の関係を有しています。 彼らは一般的な22で持っているように、ジャカード指数は14.57%です = 22 / (79 + 72)。

参考文献

この記事では、BashとC Shellとの関係を示しています。情報が抽出された各記事にアクセスするには、次のURLをご覧ください:

ヘイ!私たちは今、Facebook上です! »