こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

シェルの実行ができません

TeraTerm上で
[ora10gas@doao shell]$ ./get_daisya.csh
上のようにシェルを実行してみたのですが、
/bin/ls: 照合パターンに合いません.
と表示されます。

これしか情報が出せませんが、こういうときはどこを確認したら解決できるか
ご教授していただけませんか。

以上、よろしくお願いします

投稿日時 - 2011-05-13 11:08:10

QNo.6734221

すぐに回答ほしいです

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

現在のシェルがsh,bsh,bashのborn shell系でしょう。シェルプロンプトが$なので。
実行しようとしているget_daisya.cshは名前からしてcshの記述なのでしょう。
get_daisya.cshの先頭が
#!/bin/csh
となっていますか?ま、実行するときに
csh ./get_daisya.csh
としてみてください。
/bin/lsはbsh系とcsh系で動きが違いますから
現在のシェルと違うシェルを前提にしたシェルスクリプトの実行は気をつけてください。
私の回答が何のことか理解できないなら、まず、シェルの違いから勉強してください。

投稿日時 - 2011-05-14 10:06:20

お礼

助かりました。

投稿日時 - 2011-06-08 15:18:09

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

get_daisya.cshの中身がわからないとなんともいえません。

ちなみに、cshでlsを使用すると以下のように条件にマッチしないと出力されます。

$ ls a*
ls: 照合パターンに合いません.
※aからはじまるファイルが存在しないので出力されます。

ちなみに、この場合はエラーコードは1です。
$ echo $?
1

シェルの中でマッチするファイルが存在しない時の処理がかかれてないのではないでしょうか?
シェルの中でlsを使用している箇所を探し、実際にどんなコマンドを発行しているか確認してください。

投稿日時 - 2011-05-16 09:57:36

ANo.2

それ、シェルスクリプトとわかって実行していますか?

取り合えず、どこで、何がエラーになっているのか特定するのは、基本中の基本ですよね。

more ./get_daisya.csh

で中身を確認。1行づつ実行確認してみよう。でエラーがでている/bin/lsの引数が何かわかったところで、1行実際に指定して行ってみましょう。その前にget_daisya.csh は、あなたの先輩か、周りの人が作ったのではないですか? その人にききましょう。

投稿日時 - 2011-05-13 13:50:31

ANo.1

とりあえず文字コード (改行を含む) を確認してはどうだろうか.

投稿日時 - 2011-05-13 12:12:25

あなたにオススメの質問