基本shell

(1) 输出重定向 >

 date > test1
注意:
>> 为追加内容

(2)输入重定向 <

hadoop@master:~/shell_test/beta$ wc test1
 1  6 43 test1
注意:
第一个是行数,单词数,字节数

(3)<< 标记单词的开始和末尾

hadoop@master:~/shell_test/beta$ wc < fjsd fsdjlf
> 1 f fd
> fd
> EOF
 3  6 22

(4)管道

hadoop@master:~/shell_test/beta$ more test1 | sort
12
2016年 11月 13日 星期日 21:36:31 CST
2016年 11月 13日 星期日 21:46:41 CST
qwww

(5)退出脚本状态

hadoop@master:~/shell_test/beta$ more test1 | sort
12
2016年 11月 13日 星期日 21:36:31 CST
2016年 11月 13日 星期日 21:46:41 CST
qwww
hadoop@master:~/shell_test/beta$ echo $?
0

0  命令成功执行
1 通过未知错误
2  误用shell命令
126 命令不可执行
127 没找到命令
128无效退出参数
128+x linux 信号x的严重错误
130 命令通过CTRL+C 终止
255 退出状态码越界

(6)数学计算

expr

hadoop@master:~/shell_test/beta$ expr 9 - 3
6
//shell中
#!/bin/bash
var1=10
var2=20
var3=`$var1*$var2`

[]号进行运算

#!/bin/bash
#
var1=100
var2=200
var3=300
var4=$[$var1 * ($var2 - $var3)]
echo $var4
注意:
只支持整数

bc浮点数运算

#!/bin/bash

var1=20
var2=3.14159
var3=`echo "scale=4; $var1*$var1" | bc`
var4=`echo "scale=4; $var2*$var2" | bc`
echo "the result is $var4"

the result is 9.86958

使用内敛运算

#!/bin/bash

var1=10.46
var2=43.67
var3=33.2
var4=71

var5=`bc << EOF
scale = 4
a1 = $var1 * $var2
b1 = $var3 * $var4
a1 + b1
EOF
`
echo the result is for this mess is $var5
hadoop@master:~/shell_test/beta$ ./test4
the result is for this mess is 2813.9882

(7)$((9+3)) 同样只能支持整数运算

注:在shell 中$() 与 ``等效。 中间包含命令语句执行,返回执行结果。

你可能感兴趣的:(基本shell)