|
发表于 2007-11-20 14:06:19
|
显示全部楼层
for循环的do没有匹配到done.- # /etc/bashrc
- # System wide functions and aliases
- # Environment stuff goes in /etc/profile
- # by default, we want this to get set.
- # Even for non-interactive, non-login shells.
- if [ "`id -gn`" = "`id -un`" -a `id -u` -gt 99 ]; then
- umask 002
- else
- umask 022
- fi
- # are we an interactive shell?
- if [ "$PS1" ]; then
- case "$TERM" in
- xterm*)
- if [ -e /etc/sysconfig/bash-prompt-xterm ]; then
- PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm
- else
- PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"'
- fi
- ;;
- screen)
- if [ -e /etc/sysconfig/bash-prompt-screen ]; then
- PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen
- else
- PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\033\"'
- fi
- ;;
- *)
- [ -e /etc/sysconfig/bash-prompt-default ] && PROMPT_COMMAND=/etc/sysconfig/bash-prompt-default
- ;;
- esac
- # Turn on checkwinsize
- shopt -s checkwinsize
- [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
- fi
- if ! shopt -q login_shell ; then # We're not a login shell
- for i in /etc/profile.d/*.sh; do
- if [ -r "$i" ]; then
- . $i
- fi
- done
- unset i
- fi
- # vim:ts=4:sw=4
- export JAVA_HOME=/usr/local/jdk1_6
- export JAVA_BIN=/usr/local/jdk1_6/bin
- export PATH=$PATH:$JAVA_HOME/bin
- export CLASSPATH=.:$JAVAHOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
复制代码
给case后面的$TERM加上双引号试试你看看行不?好像在case里不会出现单词分隔的。abs里case的语法是这样的:- case "$variable" in
- "$condition1" )
- command...
- ;;
- "$condition2" )
- command...
- ;;
- esac
复制代码 而且还提到:
- 对变量使用""并不是强制的, 因为不会发生单词分割.
- 每句测试行, 都以右小括号)来结尾.
- 每个条件判断语句块都以一对分号结尾 ;;.
- case块以esac (case的反向拼写)结尾.
不一定,如果是终端你注销了重登录下。如果是桌面,你source一下.bash_profile(不一定就是这个文件,你看看它们的调用顺序吧)。
第二个问题的话,我给你个网页你慢慢瞅瞅吧
http://blog.chinaunix.net/u/30557/showart_291149.html |
|