OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

教えてください

  • すぐに回答を!
  • 質問No.195247
  • 閲覧数44
  • ありがとう数3
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 13% (3/22)

UNIXのtestコマンド([コマンド、shellに組み込まれたものではなく、独立なコマンド)の用法(オプションによる差)って何でしょうか?教えてください。

よろしくお願いいたします。
通報する
  • 回答数5
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.5
レベル14

ベストアンサー率 50% (1122/2211)

> これって、shellに組み込まれてるときじゃないんですか?
> 独立なコマンドっていうのがよくわからないんです。

質問に「shellに組み込まれたものではなく、独立なコマンド」とあったので、
シェルにビルトインされたコマンドというものを理解しているのだと思ってました。

chamax さんが「shellに組み込まれてるとき」と表現しているのは、シェルスクリプトで
使うとき、ということですね? ビルトインコマンドについては No.4 の ranx さんの
回答以上に書く事は無いです。

質問の趣旨が「コマンドプロンプトから test コマンドを使うことがあるか?」と
いうことであれば、まず、無いと答えておきます。

test コマンドに出来ることは、ファイルの存在や属性に対するチェックかシェル変数の
内容の比較だけなので、ls コマンドと echo コマンドがあれば用が足りてしまいます。
標準出力への応答が無いので、ls や echo と比べるとコマンドプロンプトから使うには
使いづらすぎます。


> ほんとごめんなさい。

質問サイトなんですから、質問したり補足を要求するのに申し訳なく思う必要はないです :-)
回答が的を射てないのであれば、何度でも補足をどうぞ。
回答する自信が無くなれば、そのときに撤退します。

# ちょっと、自信無くなってきた (^^;
お礼コメント
chamax

お礼率 13% (3/22)

ありがとうございました
投稿日時 - 2002-01-09 17:01:51
-PR-
-PR-

その他の回答 (全4件)

  • 回答No.1
レベル14

ベストアンサー率 50% (1122/2211)

なんか、かっこが多くて分かり難いですが、test コマンドのオプションについて 知りたいんですか? -f file だと、file が通常ファイルとして存在するなら真を返す、とか。 であれば、man を読むのが一番の近道です。参考URLには GNU の test の man ページの URL を紹介しておきます。 また、test がシェルのビルドインかどうかはあまり関係がありません。 ...続きを読む
なんか、かっこが多くて分かり難いですが、test コマンドのオプションについて
知りたいんですか?

-f file だと、file が通常ファイルとして存在するなら真を返す、とか。

であれば、man を読むのが一番の近道です。参考URLには GNU の test の man ページの
URL を紹介しておきます。

また、test がシェルのビルドインかどうかはあまり関係がありません。基本的には
同じ物です。

OS によっては、実行ファイルの test がなかったり、昔の OS だとシェルのビルドイン
になってなかったり、[ が、ビルドインではなくシンボリックリンクだったり、いろいろ
あります。
補足コメント
chamax

お礼率 13% (3/22)

testコマンドの使い方を教えてください。
投稿日時 - 2002-01-09 15:49:52


  • 回答No.2
レベル13

ベストアンサー率 25% (453/1783)

UNIXでも色々あるので、どのUNIXのどのバージョンですか? No.1の方の言うように、私だったら「man」をまずは読んでみますよ。 それでも分からなければ、OSのマニュアルを開いたり、インターネットで検索してみます。 No.1の方の教えていただいたサイトの説明で充分かと思います。 その補足でさらに使い方を聞かれている状況がわかりません。
UNIXでも色々あるので、どのUNIXのどのバージョンですか?

No.1の方の言うように、私だったら「man」をまずは読んでみますよ。
それでも分からなければ、OSのマニュアルを開いたり、インターネットで検索してみます。
No.1の方の教えていただいたサイトの説明で充分かと思います。
その補足でさらに使い方を聞かれている状況がわかりません。
  • 回答No.3
レベル14

ベストアンサー率 50% (1122/2211)

> testコマンドの使い方を教えてください。 [ と全く同じですよ。例えば、sh 系だと if test -f xxx.dat then   cat xxx.dat fi というふうに。後、あまり使う場面はありませんが、終了状態だけがあれば良い、という 場合には test -f xxx.dat stat=$? とか。でも、この場合でも [ は、全く等価に利用 ...続きを読む
> testコマンドの使い方を教えてください。

[ と全く同じですよ。例えば、sh 系だと

if test -f xxx.dat
then
  cat xxx.dat
fi

というふうに。後、あまり使う場面はありませんが、終了状態だけがあれば良い、という
場合には

test -f xxx.dat
stat=$?

とか。でも、この場合でも [ は、全く等価に利用できて、

[ -f xxx.dat
stat=$?

でも全く同じです。

[ コマンドは、if や while の条件節に書くと、プログラム言語っぽくなって
ちょっと読みやすくなるだけで、test と全く同じです。
補足コメント
chamax

お礼率 13% (3/22)

回答ありがとうございます。
たびたびすみません。
これって、shellに組み込まれてるときじゃないんですか?
独立なコマンドっていうのがよくわからないんです。
ほんとごめんなさい。
投稿日時 - 2002-01-09 16:15:44
  • 回答No.4
レベル13

ベストアンサー率 24% (357/1463)

a-kumaさんの回答で完璧だあ、と思ったのですが、補足を見ると、まだご不満のようですね。 シェルスクリプトに書かれたコマンド = ビルトインコマンド と思っていませんか? シェルはその種類により、様々な機能を持っていて、簡単なことならばシェルのプログラム の内部でやってしまいます。(シェルのプログラムと書いたのは、シェルスクリプトのこと ではありません。シェルスクリプトを読んで実行するプ ...続きを読む
a-kumaさんの回答で完璧だあ、と思ったのですが、補足を見ると、まだご不満のようですね。

シェルスクリプトに書かれたコマンド = ビルトインコマンド と思っていませんか?

シェルはその種類により、様々な機能を持っていて、簡単なことならばシェルのプログラム
の内部でやってしまいます。(シェルのプログラムと書いたのは、シェルスクリプトのこと
ではありません。シェルスクリプトを読んで実行するプログラムのことです。シェルスクリプト
は単なるテキストです。)これをビルトインコマンドと言います。とは言っても、全ての処理を
シェルの内部で処理できるわけでもないので、シェルプログラムは、シェルスクリプトの記述に
したがって、外部のコマンドを起動します。シェルスクリプトの中に書かれていたとしても、
これはあくまで外部のコマンドです。

で、testコマンドですが、これは私の想像ですが、やはりシェルスクリプトの中で使うことを
目的として作られたものだと思います。UNIXは、ある程度今でもそうですが、初期のものほど、
一つのプログラムに多くの機能を持たせるより、多くのプログラムの機能を組み合わせて使う
ことを考えて作られているように思います。そんなことから、当初はビルトインコマンドでは
なく、外部に独立して作られたのではないでしょうか。現在では、これをビルトイン機能で
行うシェルも多く紛らわしいですが、やはりa-kumaさんのおっしゃるように、区別する必要は
ないと思います。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ