Cygwin なんでも掲示板

一覧最新記事過去一覧 | 検索FAQアンテナHOME
(新規投稿・発言はできません)


スレッド

└◇936:
.bashrc [test] 02/02 06:29

 └◇937:Re:.bashrc [MSだす。] 02/02
  └◇938:Re[2]:.bashrcの件で [test] 02/03
   └◇939:Re[3]:.bashrcの件で [りう] 02/03
    └◇940:Re[4]:.bashrcの件で [test] 02/04
     └◇941:Re[5]:.bashrcの件で [りう] 02/04
      └◇942:Re[6]:.bashrcの件で [test] 02/05
       └◇944:Re[7]:.bashrcの件で [中島] 02/05
        └◇947:Re[8]:.bashrcの件で [test] 02/06 <


936● .bashrc[ test ] 2003 02/02 06:29
cygwin起動時のHOME /home/testにより、
起動後、pwdで確認すると確かに
/home/testになっていました。
そこで.bashrcを
cygwin環境の構築:環境設定ホームページにあるように
.bashrc自分用に変えて保存したのですが、
実行されません。
なぜでしょうか?
よろしくお願いします。
スレッド一覧


937● Re:.bashrc[ MSだす。 ] 2003 02/02 08:42
”10. 質問前に読んで欲しいFAQ”あるいはCygwin付属のFAQ
などを見てください。
スレッド一覧


938● Re[2]:.bashrcの件で[ test ] 2003 02/03 04:00
> ”10. 質問前に読んで欲しいFAQ”あるいはCygwin付属のFAQ
> などを見てください。

もちろん読みました。
しかし、cygwin起動後.bashrcは実行されません。
Hello testが表示されないのと、aliasが未設定です。
よろしく、お願いします。

---.bashrcの内容---
echo Hello test
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

export SHELL=/bin/bash
export HOME=/home/test
export TMPDIR=/tmp
export TZ=JST-09
export MAKE_MODE=unix

PATH=/usr/local/sbin:/usr/sbin:/sbin:.:~/bin
PATH=/usr/local/bin:/usr/X11R6/bin:/usr/bin:/bin:$P
PAGER=less
JLESSCHARSET=japanese-sjis
export PATH PAGER JLESSCHARSET

PS1="$HOSTNAME:\w$ "

if [-n ${DISPLAY}]; then
export DISPLAY=localhost:0.0
fi

if [ !-n "${TERM}" ]; then
TERM=cygwin
fi

alias ls="ls -aF --color=auto"
alias la="ls -aF"
alias ll="ls -l"
スレッド一覧


939● Re[3]:.bashrcの件で[ りう ] 2003 02/03 08:36
どのようにbashを起動しているのかさえ書いていないので
何とも言えませんが、もし「Cygwin」アイコンからbashを
起動しているのであれば、

1. .bash_profile を作成
2. その中身として

#!/bin/bash

if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

とする。

で対応出来るはずです。

# というより、bashのマニュアルは読んだのですか?
スレッド一覧


940● Re[4]:.bashrcの件で[ test ] 2003 02/04 04:26
> # というより、bashのマニュアルは読んだのですか?
確かに読んでませんでしたので、勉強しました。
.bashrcを3ファイルに分解し、今度は、~の下に用意しました。
(日付、時間省略、実行権は無くても良いのでしょうか?)
-rw-r--r-- 1 Administ なし .aliases
-rw-r--r-- 1 Administ なし .bas_profile
-rw-r--r-- 1 Administ なし .bash_history
-rw-r--r-- 1 Administ なし .bashrc
Windows 2000のアイコンからcygwinアイコンを実行しました。
やはり何も実行されていません。
後でshコマンドで実行してみると、
$ sh .bas_profile

$ sh .bashrc
Hello test
[: cygwin: unknown operand

$ sh .aliases
alias: not found
alias: not found
alias: not found
alias: not found
となります。
各ファイルの内容は、下記のとおりです。
何が悪いのか、さっぱり判りません。
よろしくお願いします。
$ cat .aliases
# define aliases

alias ls="ls --color=auto"
alias la="ls -aF"
alias ll="ls -alF"
alias h="history"

$ cat .bas_profile
LOGIN_SHELL=true
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

$ cat .bashrc
echo Hello test

export SHELL=/bin/bash
export HOME=/home/test
export TMPDIR=/tmp
export TZ=JST-09
export MAKE_MODE=unix

PATH=/usr/local/sbin:/usr/sbin:/sbin:.:~/bin
PATH=/usr/local/bin:/usr/X11R6/bin:/usr/bin:/bin:$PATH
PAGER=less
JLESSCHARSET=japanese-sjis
export PATH PAGER JLESSCHARSET

PS1="\! \H:\u> "

if [ -n ${DISPLAY} ]; then
export DISPLAY=localhost:0.0
fi

if [ !-n "${TERM}" ]; then
TERM=cygwin
fi
スレッド一覧


941● Re[5]:.bashrcの件で[ りう ] 2003 02/04 10:18
.bas_profile ではなくて「.bash_profile」です。

あと、 Cygwin の sh は bash ではなくて ash という
別のシェルです。ash には alias という組み込みコマンドは
ありませんから、エラーになって当然です。
スレッド一覧


942● Re[6]:.bashrcの件で[ test ] 2003 02/05 04:59
> .bas_profile ではなくて「.bash_profile」です。
> あと、 Cygwin の sh は bash ではなくて ash という
> 別のシェルです。
ありがとうございました。
unix,cygwinには経験の浅いので、
そのような基本的なことさえ知りませんでした。

ところで、
Hello test
bash: [: !-n: unary operator expected
.bashrcは実行されるようになったのですが、
上のとおりまだエラーが表示されます。
何を言っているのか判りません。
よろしくお願いします。
スレッド一覧


944● Re[7]:.bashrcの件で[ 中島 ] 2003 02/05 17:48
> bash: [: !-n: unary operator expected
> .bashrcは実行されるようになったのですが、
> 上のとおりまだエラーが表示されます。
> 何を言っているのか判りません。

 難しく考えずに、そのまま素直に理解しましょう。
 [ というコマンドが、!-n というおかしな引数のせいで文句言っているだけです。
 [ は、test コマンドの別名です。

 man test

 -n 〜の否定ならば、! と -n の間に空白が必要です。
スレッド一覧


947● Re[8]:.bashrcの件で[ test ] 2003 02/06 03:29
>  -n 〜の否定ならば、! と -n の間に空白が必要です。
ありがとうございました。解決出来ました。
これで、問題点は全て解決できました。
スレッド一覧

早田のホームページへ
CGIROOM