标签:状态 整数 strong 定向 lin 数据 shell脚本 返回结果 查看
创建shell脚本
在创建shell脚本文件,必须在文件的第一行指定要使用的shell,其格式为:
#!/bin/bash
创建、执行sh脚本
代码1-1
root@lejian:/data# cat demo1 #/bin/bash date who root@lejian:/data# ls -l total 4 -rw-r--r-- 1 root root 21 Dec 1 13:59 demo1 root@lejian:/data# chmod u+x demo1 root@lejian:/data# ls -l total 4 -rwxr--r-- 1 root root 21 Dec 1 13:59 demo1 root@lejian:/data# ./demo1 Thu Dec 1 14:03:57 CST 2016 root pts/0 2016-12-01 13:34 (110.86.16.210)
代码1-1中,chmod u+x demo1 为修改demo1文件权限使其可执行
root@lejian:/data# cat demo2 #!/bin/bash echo -n "The time and date are:" date who root@lejian:/data# ./demo2 The time and date are:Thu Dec 1 20:06:19 CST 2016 root pts/0 2016-12-01 19:59 (122.90.139.156)
root@lejian:/data# cat demo4 #!/bin/bash echo "User info for userid:$USER" echo "UID:$UID" echo "HOME:$HOME" echo "The cost of item is $15" echo "The cost of item is \$15" root@lejian:/data# ./demo4 User info for userid:root UID:0 HOME:/root The cost of item is 5 The cost of item is $15
root@lejian:/data# cat demo5 #!/bin/bash days=19 guest="Tom" echo "$guest checked in $days days ago" days=25 guest="Amy" echo "$guest checked in $days days ago" customer=$guest echo "The customer is $customer" root@lejian:/data# ./demo5 Tom checked in 19 days ago Amy checked in 25 days ago The customer is Amy
root@lejian:/data# cat demo6 #!/bin/bash testing=`date` echo "$testing" today=`date +%Y-%m-%d` echo "now is $today" today=`date +%H:%M:%S` echo "now is $today" today=`date "+%Y-%m-%d %H:%M:%S"` echo "now is $today" tomorrow=`date -d tomorrow "+%Y-%m-%d %H:%M:%S"` echo "tomorrow is $tomorrow" yesterday=`date -d yesterday "+%Y-%m-%d %H:%M:%S"` echo "yesterday is $yesterday" root@lejian:/data# ./demo6 Thu Dec 1 20:45:05 CST 2016 now is 2016-12-01 now is 20:45:05 now is 2016-12-01 20:45:05 tomorrow is 2016-12-02 20:45:05 yesterday is 2016-11-30 20:45:05
root@lejian:/data# date > demo7 root@lejian:/data# cat demo7 Thu Dec 1 20:52:09 CST 2016 root@lejian:/data# who > demo7 root@lejian:/data# cat demo7 root pts/0 2016-12-01 19:59 (122.90.139.156) root@lejian:/data# date >> demo7 root@lejian:/data# cat demo7 root pts/0 2016-12-01 19:59 (122.90.139.156) Thu Dec 1 20:52:32 CST 2016
root@lejian:/data# wc <<EOF > Java > PHP > Python > EOF 3 3 16
root@lejian:/data# cat demo9 hello Java hello Spring hello Mybatis PHP is the best language in the world Java is the best language in the world root@lejian:/data# cat demo9 | grep Java hello Java Java is the best language in the world
root@lejian:/data# expr 1 + 5 6 root@lejian:/data# expr 1 - 5 -4 root@lejian:/data# expr 1 * 5 expr: syntax error root@lejian:/data# expr 1 \* 5 5 root@lejian:/data# expr 1 / 5 0
root@lejian:/data# cat demo1 #!/bin/bash val1=20 val2=10 val3=`expr $val1 / $val2` echo "The result is $val3" root@lejian:/data# ./demo1 The result is 2
代码1-11
root@lejian:/data# val1=$[1+5] root@lejian:/data# echo $val1 6 root@lejian:/data# val2=$[$val1+10] root@lejian:/data# echo $val2 16 root@lejian:/data# cat demo2 #!/bin/bash val1=5 val2=8 val3=9 val4=1 val5=10 val6=2 val=$[val1+(val2-val3)+val4*val5+val6] echo "The result is $val" root@lejian:/data# ./demo2 The result is 16
bc计算机允许在命令行输入浮点表达式、解释表达式、计算并返回结果,bc计算器能识别:
代码1-12
root@lejian:/data# bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty‘. 9.1+11.2 20.3 8.1+9.9 18.0 quit
root@lejian:/data# bc -q 3/5 0 scale=3 3/5 .600 val1=10 val2=6 val1*val2 60 val3=val1+val2 print val3 16 quit
root@lejian:/data# cat demo3 #!/bin/bash val1=`echo "scale=3;3/6" | bc` echo "The result is $val1" root@lejian:/data# ./demo3 The result is .500
代码1-15
root@lejian:/data# date Fri Dec 2 04:57:24 CST 2016 root@lejian:/data# echo $? 0 root@lejian:/data# aaa No command ‘aaa‘ found, did you mean: Command ‘aha‘ from package ‘aha‘ (universe) Command ‘aa‘ from package ‘astronomical-almanac‘ (universe) Command ‘ara‘ from package ‘ara‘ (universe) Command ‘jaaa‘ from package ‘jaaa‘ (universe) aaa: command not found root@lejian:/data# echo $? 127
状态码 | 描述 |
0 | 命令成功结束 |
1 | 通用未知错误 |
2 | 误用shell命令 |
126 | 命令不可执行 |
127 | 没找到命令 |
128 | 无效退出参数 |
128+x | Linux信号x的严重错误 |
130 | 命令通过Ctrl+C终止 |
255 | 退出状态码越界 |
代码1-16
root@lejian:/data# cat demo4 #!/bin/bash date echo $? who exit 5 root@lejian:/data# ./demo4 Fri Dec 2 05:03:08 CST 2016 0 root pts/0 2016-12-02 04:39 (122.91.222.126) root@lejian:/data# echo $? 5
标签:状态 整数 strong 定向 lin 数据 shell脚本 返回结果 查看
原文地址:http://www.cnblogs.com/baoliyan/p/6127900.html