学习shell脚本遇到的小知识!
首先说一下shell脚本的一些规则:
变量在linux里面分为两种,1:临时变量(用户自定义变量、位置变量). 2:永久变量(环境变量)
shell中用户自定义的变量的名字由字母或下划线开头!自定义变量必须是 字母 数字 下划线组成,并且区分大小写,变量名字的长度没有限制。
在使用自定义变量的时候前面需要加上"$"符号. (一般自定义的变量名用大写)。
变量赋值的方法
变量名=赋值 例子:NUM=100 (使用变量的时候$NUM,变量赋值的时候等号两边没有空格).
将一个命令的结果赋值给变量的2个方法
TIME=`date` 这个符号"`"不是单引号哦!
TIME=$(date)
如果把多个字符赋值给一个变量,需要用""或''把值引起来!(单引号里面如果还有定义的变量会当作字符输出!)
1. 执行shell脚本的时候加上 -x ,执行脚本时会把过程列出来!(有利于我这种新手学习)
sh -x shell (./shell 也可以执行shell脚本 但是没有-x参数)
学习shell脚本遇到的小知识!
2. 传的值的个数大于 read 定义的接受变量的时候会把多余的值都给最后一个变量!!
学习shell脚本遇到的小知识!
4. 在shell脚本里面 执行一条输出的命令(pgrep mysqld)怎么吧输出的结果作为值赋给变量?
web=$(/usr/bin/pgrep mysqld) #可以用 变量=$(命令) 和 变量=`命令` 来吧命令执行的结果赋给变量
if [ "$web" = "" ]
then
/etc/init.d/mysql start
fi
5.查看某个命令所在的位置可以用 whereis /which/type 三个命令来查看
学习shell脚本遇到的小知识!
6.awk命令的应用
作用:分段提取! (一行为单位来进行分段)
awk -F [分隔符] '条件 动作' /对象 (如果不指定分隔符默认会用空格作为分隔符!)
例: awk -F : '$3==0 {print $1}' /etc/passwd
例: awk -F : '$1 == "root" {print $1} ' /etc/passwd
# -F : 用:分割passwd每行的内容 ($1 指第一段内容 $2 指第二段内容 $n 指第n段内容 $NF 最后一段内容)