重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

質問させていただきます。

Cygwinをインストールしたのですが、CMD.exe上では、いくつかのコマンド(aliasなど)が使えないようです。

CMD起動時にスクリプトを自動実行するにはどこに記述すればよいでしょうか?

A 回答 (4件)

#2です。


lsはbashの組み込みコマンドじゃないです。bashでコマンドの種類を調べるのはtype組み込みコマンドを使います。例えば、type echo とすると、echo is a shell builtin と表示されます。type ls だと、ファイル名が表示されると思います。もしaliasだと表示されたら、unalias ls してから再度 type ls してみてください。
unixだと、/bin/ls か /usr/bin/ls 、cygwin だと bin\ls.exe 。

>経験的にCygwinのほうが優先されるように思うのですが、
bashだと echo $PATH、CMDだと echo %PATH% してみてください。優先度としては、bash も CMD も、
alias -> 組み込みコマンド -> PATHの最初のディレクトリにある外部コマンド -> PATHの2番目の外部コマンド -> 以下同

ちなみにCMDでの alias定義は、「DOSKEY ls=dir /w $* 」のように書きます。
    • good
    • 0
この回答へのお礼

なるほど!「ls」に関しては私の勘違いだったのですね。ご指摘ありがとうございます。

DOSでは、DOSKEYというのですか!なるほど。私はDOS世代ではないため、そういった情報にタッチしていた人がうらやましくてなりません(笑)

いろいろ教えていただき、最終的には、ファイル名を指定して実行から「cmd /k bash」と起動することに決めました。ここで教えていただいたことは、非常に役に立ちました!これから私もいろいろ調べながらいきたいとおもいます。notnotさんありがとうございました!

お礼日時:2005/11/07 12:23

> 具体的にはどうしてなのでしょうか?



既に回答が出ているように、aliasはbashの内部コマンドだからです。
逆に、bashを使うと、cmd.exeの内部コマンドであるdirなどは使えなくなります。
    • good
    • 0
この回答へのお礼

なるほど。Bashとcmdは両方は使えないと言うことですね。すごくよくわかりました。

ところで、直接は関係ない質問ですが、Cygwinが組み込まれた場合で同じコマンドを実行したとき、経験的にCygwinのほうが優先されるように思うのですが、ここも実装としてそうなっているのでしょうか?度々すみませんm(_ _)m

お礼日時:2005/11/07 00:59

>どうしてなのでしょうか?


aliasは独立したコマンドではなく、bashの組み込みコマンドなので、bashを起動する必要があります。
cygwin.batの中を見ればわかりますが、bash.exeを起動しています。

CMDプロンプトから直接起動できるのは、cygwinのbinディレクトリにある.exeファイルに限ります。
    • good
    • 0
この回答へのお礼

なるほど!内部コマンドだったのですね!

しかし、奇妙なことにCMD上から「ls」は実行できるのです。探してみると「ls」は外部コマンドではないと思ったのですが、なぜでしょうか?繰り返し質問ばかりすみませんm(_ _)m

お礼日時:2005/11/07 00:57

コマンドプロンプト(cmd.exe)ではなく、cygwin.batでbashを起動させましょう。

    • good
    • 0
この回答へのお礼

ありがとうございます。
具体的にはどうしてなのでしょうか?追加で質問、申し訳ないです。

お礼日時:2005/11/06 23:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!