lidapeng@X61s:~/shell_program$ cat length_word.sh
#!/bin/bash
for str1 in I am Lidapeng, I am learning shell.
do
echo $str1
done
lidapeng@X61s:~/shell_program$ bash length_word.sh
I
am
Lidapeng,
I
am
learning
shell.
找出长度小于5的单词:
lidapeng@X61s:~/shell_program$ cat length_word.sh
#!/bin/bash
for str1 in I am Lidapeng, I am learning shell.
do
if [ `expr length $str1` -lt 5 ]
then
echo $str1
fi
done
lidapeng@X61s:~/shell_program$ bash length_word.sh
I
am
I
am
lidapeng@X61s:~/shell_program$
if语句的比较式:
-ne表示不等于;-ge表示大于等于;-le表示小于等于;-lt 小于
比较式
含义
-eq
equal,等于
-ne
not equal,不等于
-lt
less than
-le
less than or equal,小于等于
-gt
greater than,大于
-ge
greater than or equal,大于等于
-f "file"
文件file是否存在
-d "path"
目录是否存在
-n "$var"
变量$var是否为真
-r "file"
判断file是否存在且可读
-x "file"
判断file是否存在且可执行
-w "file"
判断file是否存在且可写
-c "file"
判断file是否存在且为字符特殊文件
-b "file"
判断file是否存在且为块特殊文件
-s "file"
文件大小非0时为真
-t "file"
当文件描述符(默认为1)指定的设备为终端时为真
bc计算器
bc命令当作命令行计算器
lidapeng@X61s:~/shell_program$ bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
1+2
3
12.4*434.3
5385.3
1/2
0
1/2.0
0
1.0/2
0
2.23/2
1
^C
(interrupt) use quit to exit.
exit
0
quit
lidapeng@X61s:~/shell_program$
lidapeng@X61s:~/shell_program$ echo "4.2*4" | bc
16.8
lidapeng@X61s:~/shell_program$ echo "3/2" | bc
1
lidapeng@X61s:~/shell_program$ num=5
lidapeng@X61s:~/shell_program$ result=`echo $num*4 | bc`
lidapeng@X61s:~/shell_program$ echo $result
20