标签:状态 lib 保存 host pat height data win 引用
1、并行执行命令,多个命令用分号隔开
[root@Study network-scripts]# date;who Tue May 3 14:55:44 CST 2016 root tty1 2016-05-03 01:40 root pts/0 2016-05-03 13:41 (192.168.78.1)
2、Shell脚本的第一行表示需要bash去执行
#! /bin/bash
3、Shell脚本按照顺序执行
[root@Study network-scripts]# ./test.sh
[root@Study network-scripts]# echo "Hello World" Hello World
6、echo -n 表示输出信息在同一行,-n 表示忽略换行符
[root@Study network-scripts]# echo -n "Hello World " Hello World [root@Study network-scripts]#
[root@Study network-scripts]# set BASH=/bin/bash BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:login_shell:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_LINENO=() BASH_SOURCE=() .....
8、引用变量,在变量名前加$符号或者${变量名}的方式
[root@Study network-scripts]# echo $USER root
[root@Study network-scripts]# echo ${USER} root
9、用户变量区分大小写
[root@Study network-scripts]# Val="Val" [root@Study network-scripts]# val="val" [root@Study network-scripts]# echo $val val [root@Study network-scripts]# echo $Val Val
10、赋值变量时,“=” 号左右不能有空格
[root@Study network-scripts]# val = "123" -bash: val: command not found [root@Study network-scripts]# val="123" [root@Study network-scripts]# echo $val 123
[root@Study network-scripts]# val="123" [root@Study network-scripts]# echo $val 123 [root@Study network-scripts]# Val=$val [root@Study network-scripts]# echo $Val 123
13、反引号:` `,反引号括起来的是命令,返回的是命令执行后的输出内容
[root@Study network-scripts]# day=`date +%d` [root@Study network-scripts]# echo $day 03
[root@Study network-scripts]# date > datefile.txt [root@Study network-scripts]# cat datefile.txt Tue May 3 15:37:57 CST 2016 [root@Study network-scripts]# echo "Hello Worl" > datefile.txt [root@Study network-scripts]# cat datefile.txt Hello Worl [root@Study network-scripts]# echo "lzq hello" >> datefile.txt [root@Study network-scripts]# cat datefile.txt Hello Worl lzq hello
输入重定向,< 文件 该方式从文件获取数据源给到命令执行; << 内联输入重定向 该方式允许重定向输入的数据在命令行而不必是文件
[root@Study network-scripts]# wc < datefile.txt 2 4 21
[root@Study network-scripts]# wc << EOF > test1 > test2 > test3 > EOF 3 3 18
[root@Study network-scripts]# echo $PS2 >
[root@Study network-scripts]# rpm -qa | sort > rpm.info [root@Study network-scripts]# cat rpm.info | less acl-2.2.49-6.el6.x86_64 aic94xx-firmware-30-2.el6.noarch alsa-lib-1.0.22-3.el6.x86_64 apr-1.3.9-5.el6_2.x86_64 apr-util-1.3.9-3.el6_0.1.x86_64 atk-1.30.0-1.el6.x86_64 atmel-firmware-1.3-7.el6.noarch .....
[root@Study network-scripts]# var=$[1 * 7] [root@Study network-scripts]# echo $var 7
bash shell只支持整数除法,如果需要运算浮点数,可以使用支持浮点运算的z shell
[root@Study network-scripts]# var=$[3 / 2] [root@Study network-scripts]# echo $var 1
bc计算器其实是允许你在命令行输入浮点表达式、解释表达式、计算并返回结果的一种编程语言
[root@Study ~]# 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‘. 12 / 7 1 12 // 7 (standard_in) 2: syntax error 14 /0.7 20 scale=2 #该变量必须设置,控制小数点位数 12 / 7 1.71 quit
-q选项 屏蔽欢迎信息
[root@Study ~]# bc -q #加上-q 选项是为了屏蔽欢迎信息 scale=2 12 /7 1.71
在bc内部定义变量并运用,该变量只能在bc中使用
val=0.6 12 / val 20.00
如何在脚本中运用,把表达式作为输出通过管道给到bc计算器
[root@Study ~]# echo "val=0.5; scale=2; 12 / val" | bc 24.00
内联重定向结合bc计算器的运用(bc计算器只能识别输入重定向)
[root@Study ~]# val=`bc << EOF > scale=4 > 12 / 8 > EOF` [root@Study ~]# echo $val 1.5000
[root@Study ~]# date Tue May 3 17:49:24 CST 2016 [root@Study ~]# echo $? 0
Linux退出状态码
状态码 | 描述 |
0 | 命令成功结束 |
1 | 通用未知错误 |
2 | 误用shell命令 |
126 | 命令不可执行(无权限) |
127 | 没有找到命令 |
128 | 无效的退出参数 |
128+x | Linux信号x的严重错误 |
130 | 命令通过Ctrl+C终止 |
255 | 退出状态码越界 |
exit命令指定退出状态码
[root@Study ~]# vim exitstatus.sh [root@Study ~]# chmod 755 exitstatus.sh [root@Study ~]# ./exitstatus.sh Hello World [root@Study ~]# echo $? 5 [root@Study ~]# cat exitstatus.sh #! /bin/bash echo "Hello World" exit 5
标签:状态 lib 保存 host pat height data win 引用
原文地址:http://www.cnblogs.com/ziqang/p/6107798.html