1. 命令的执行顺序:

#cmd1

#cmd2 

与cmd1;cmd2 效果一下。

________________________________________________________________________

2.echo 中的  “” ‘’  区别

#echo ni hao   输出 ni hao,

#echo "ni hao $1"  输出 ni hao,解释$1,其中“ni hao” 是一个整体,但是不能解释特殊符号,例如 !#  

#echo  'ni hao $1'  输出 ni hao 不解释$1。原样输出。

echo -n  " ni hao "#忽略换行符。

 

[root@gzdxt123 ~]# echo -n "ni hao" 

ni hao[root@gzdxt123 ~]# 

 

echo -e " 1\t2\t3"

123

-e 将转义序列(字符)作为参数解释。

echo 中的输出彩色字体:

echo -e "\e[1;31m this is red \e[0m]"

31 是红色,32绿色,33×××,34蓝色,35洋红,36青色,37白色,30黑色,0重置

echo 中设置字体背景色 

echo -e "\e[1;42m this is red \e[0m]"

41 红色  42 绿色 43 ××× 44 蓝色 45 洋红 46青色  47白色 40 黑色 0 重置

 

________________________________________________________________________

 

 

3.环境变量

环境变量:一些特殊的变量会被shell环境和操作系统环境存储一些特别的值,这类变量称为环境变量。

环境变量与普通脚步中的变量的区别在与,环境变量未在当前脚步中声明就可以直接饮用。例如$PATH $PWD $HOSTNAME $UID $HOME

可以利用/etc/profile 定义新的环境变量

#xxx="xxx:xxx:"

#export xxx

env  打印与当前终端相关的环境变量。

查看某一个进程执行中使用的环境变量。

cat /proc/$PID/environ

其中查询PID 可以利用pgrpe xxx  获得进程ID号。

获取一个变量的长度

#var=123456

#echo$(#var)

#6

 

________________________________________________________________________

4.shell中加减乘除

 

+法:

$no1=4

$no2=5

let no3=no1+no2

自己加:let no1++

自己减:let no1--

利用[]

no3=$[ no1 + no2 ]

利用expr

no3=`expr 1 + 1 `

no3=$(expr $no1 + 5)

shell中的循环与判断

*法和/法

利用bc命令

echo "4 * 5.5" |bc  乘法

echo " 4 / 5.5" |bc  除法

 

________________________________________________________________________

5 .标准输入与标准输出与错误输出

 

默认 cat b > a.txt  等于  cat b 1> a.txt  

出现错误  会输出到屏幕  也就是2

把 对的 错的   都追加到a.txt

cat b 2>&1 >a.txt  其中&表示同时。

________________________________________________________________________

6. EOF文件块。

fdisk /dev/sdf <<EOF

n

EOF

解决了交互式输入的问题,其中第一个<<EOF 与EOF之间的内容会被当做标准输入

cat > /etc/xxx.txt <<EOF

this is test

EOF

xxx.txt 会写入 this is test.利用cat EOF提供的标准输入内容追加到xxx.txt

alias命令:

作用:查询一个内容每次都需要输入很长的命令,可以利用alias代劳解决

alias install= 'yum -y install'

这个别名定义写入当前用户的.bashrc 那么每次登陆都会生效。

这个别名定义写入/etc/profile 所有用户每次登陆都会生效。(等于新建了一个环境变量)

 

________________________________________________________________________

 

 7. 增加脚步的调试功能。

sh -xv b.sh

查看b.sh 的执行过程,利于排查脚步中的错误。一次性执行

-xv 写入 b.sh 的开头  #!/bin/bash -xv  每次脚步都显示执行过程。

在shell中生成子shell。

out=$(cat b.txt)

利用read 读取键盘。

#read -n 2 var

#echo $var  从键盘读取2个字符存入var

#read -s var  不显示键盘的输入存入var

#read -p "enter passwd"   显示提示信息

#read -t 30 var 在30秒内键入的字符存入var

#read -d ":" var

当输入:时前面的字符存入var.   hello: hello别存入var中

________________________________________________________________________

8.shell中的循环和判断。

for x in txt

do

done

把txt中的分别值分别轮询一遍。结束

for disk in disk_less

do

mkfs.ext2 disk

done

disk_less中的列表中的磁盘分别执行格式化。

while 

do

done

while 循环把“真”作为条件,当“假”的时候退出脚本。

while

de=5

[ $de -le 5 ]

do

touch /root/$de.txt

de=`expr $de  + 1`

done

if语句

if cond

then

command

fi

if cond

then

command

else

commadn

fi

if cond

then

command

elif cond

then 

command

else

command

fi

-gt 大于

-lt 小于

-ge 大于或等于

-le 小于或等于 

-eq  等于

-ne 不等于

-a  and和   &&

-o  or或者 ||

字符串比较: [[ $comm1 = $comm2]]  -z 表示空字符  -n 表示非空字符