刚才输入的内容,全在hello.java文件中11,输入重定向如:cat > a.txt <<EEE,从屏幕上输入内容到a.txt中,直到输入EEE时才结束!!!!像这种结合方式,经常被用在自动执行记录某些日志,或者写入信息时用到。
SYSPROFILE=/etc/profilecat >> $SYSPROFILE <<EOF
export JAVA_HOME=/usr/java/jsdk
export JAVA_OPTS="-Xms64m -Xmx768m"
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin::$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
EOF12,管道管道:把前一个命令的输出作为下一个命令的输入。顾名思义就是连接前后两个管道的作用。
把上一个管道的尾与下一个管道的头相连接。ls -l /tmp/test | wc -l 统计/tmp/test目录中共有多少个文件和目录。把/tmp/test目录中文件和目录按列显示。并把显示出来的结果作为wc -l命令的信息源。13,条件判断语句字符串比较:=,!=,-n:判断字符串长度是否大于0,大于0则为真,-z:判断字符串长度是否等于0,等于0则为真
数字比较:-eq相等, -ge大于等于,-le小于等于,-ne不等于,-gt大于,-lt小于
逻辑判断:!非,&&与,||或
文件判断:-d目录判断,-f文件判断,-r可读,-w可写,-x可执行test 条件1 比较符 条件2 如:test 1 -eq 1
[ 条件1 比较符 条件2 ] 如:[1 -eq 1 ],[ -n "" ]
[ `who | wc -l` -le 10 ]&& echo "YES" 判断当前系统的登录用户数是否小于等于10,是,则输出YES
16,循环语句:
while 条件为真时,执行
do
..
done例:j=1
while((j<=10)) 或者while [ j -le 10 ]
do
echo "j=$j"
j=`expr $j + 1
done if语句:
if
then
else 此处也可elif与fi再嵌套
fi 例:x=4;y=7if [ $x -eq $y ]
then
echo "相等"
else
echo "不相等"
fi case 变量 in
数值1) 语句 ;;
数值2) 语句 ;;
*) 语句 ;; #如果数值不在范围之中,就执行这一行例:USER=whoamicase $USER in
lishi)
echo "you are LISHI";
echo "Welcome ";;
root)
echo "you are ROOT"
echo "hi root ";;
admin)
echo "you are admin";
echo "admin,hello ";;*)echo "当前用户不是lishi,root,admin";;
esac for 循环例:用FOR循环显示/tmp/sh目录中的每个文件信息。变量i的取值是/tmp/sh目录中的每个文件如for i in "a" "b" "c",此时变量i每次循环的取值为a,b,cpath=/tmp/sh/
for i in `ls $path`
do
ls -l $i
done例:#用for与if相结合的手法,显示出从1到键盘输入数之间的偶数
#注意if语句的双括号read x
for((i=1;i<=$x;i++))
do
if [ $i % 2 == 0 ]
then
echo "$i"
fi
done14,函数# 定义一个累加的函数sum, 再从键盘上输入两个数,再调用sum函数










