Shell 脚本快速入门
#!/bin/bash
//变量的赋值,=前后不能有空格,访问用$
myTest="hello world"
myNum=30
yourNum=40
//shell四则运算符号前后有空格,乘法需转义
//其他运算符,=、==、!=、!、-o、-a
val=`expr $myNum + $yourNum`
echo $val
val=`expr $myNum \* $yourNum`
echo "$val"
val=`expr $myNum / $yourNum`
echo "$val"
echo ${#myTest} #字符串长度
echo ${myTest:1:4} #字符串切片
array=(1 2 3 4 5)
array2=(aa bb cc dd ee)
value=${array[3]}
echo $value
value2=${array2[3]} #数组取值
echo $value2
length=${#array[*]} #数组长度
echo $length
echo "hello world"
echo helo world
text="hello world"
echo $text
echo -e "hello \nworld"
echo "hello world" > a.txt
echo `date` #当前系统时间
printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg
printf "%-10s %-8s %-4.2f\n" 郭靖 男 66.1234
printf "%-10s %-8s %-4.2f\n" 杨过 男 48.6543
printf "%-10s %-8s %-4.2f\n" 郭芙 女 47.9876
test $[myNum] -eq $[yourNum]
test myNum=yourNum
# for 循环,
for i in {1..5} # 也可以用 for I in 5 6 7 8 9
do
echo $i + " eek"
done
for FILE in /etc/p*
do
echo $FILE
done
COUNTER=0
#while 循环
while [ $COUNTER -lt 5 ]
do
COUNTER=`expr $COUNTER + 1`
echo $COUNTER
done
echo 'input...'
while read FILM
do
# if then else elif 使用 [] 并且 [ ] 两边都有空格
if [ $FILM == "exit" ]
then
#跳出循环
break
else
echo "great $FILM"
fi
done
#函数
sysout(){
echo "hello world sysout"
}
sysout
calc(){
anum=$1 #接受第一个参数
echo $anum
bnum=$2
echo $bnum
echo $# $接收参数个数
echo $* $打印所有的参数
return $(($anum + $bnum))
}
calc 44 55
result1=$?
echo $result1
$echo result1 > a.txt
echo input < /etc/passwd