首页 > 代码库 > shell编程基础必知

shell编程基础必知

shell编程


################################################


静态语言

动态语言


################################################


编程语言:机器语言,汇编语言,高级语言


################################################


面向对象的编程语言:sehll c

面向对象的编程语言:JAVA Python perl c++


################################################


变量:内存空间,命名

内存:编址的存储单元


################################################


变量类型:定义变量的存储格式


  字符型

  数值型:整型,浮点型


################################################


逻辑运算:&与 ||或 !非 异或    


################################################


bash变量类型

  环境变量

  本地变量(局部变量)

  位置变量

  特殊变量



变量名称规则

   不能和存在的变量重名

   见名知意

################################################


VARNAME=VALUE 整个bash进程都有效

local VARNAME=VALUE 对当前代码有效

环境变量:

当前的shell进程及子进程有效 


################################################


撤销变量:unset VARNAME


################################################


$? :程序执行完成的返回值


o正确

1-255错误返回值 1,2 127预留


[root@Jameszhan ~]# $?

-bash: 127: command not found

[root@Jameszhan ~]# echo $?

127

[root@Jameszhan ~]# echo it is

it is


################################################


输出重定向

>

>>

2>

2>>

&> 错误和正确结果


把返回值给/dev/null


[root@Jameszhan ~]# cd /cdd &> /dev/null

[root@Jameszhan ~]# echo $?

1

[root@Jameszhan ~]# cd / &> /dev/null

[root@Jameszhan /]# echo $?

0



/dec/null

[root@Jameszhan ~]# echo $?

0


查看环境变量的命令

printenv

env

export



################################################


脚本的作用:为完成特定任务的命令堆砌


脚本编写:创建user1 user2 user3 user4 user5 用户


##########

1,创建.sh文件

[root@Jameszhan /]# vim /tmp/useradd.sh


##########

2,书写格式

[root@Jameszhan /]#

#!/bin/bash

#

useradd user1

useradd user2

useradd user3

useradd user4

useradd user5


##########

3,给脚本执行权限

[root@Jameszhan ~]# chmod +x /tmp/useradd.sh


##########

4,执行脚本

[root@Jameszhan ~]# /tmp/useradd.sh


################################################


条件判断


bash中如何实现条件判断

条件测试类型

 整数

 文字

 文件


################################################


条件测试表达式

 [expression]

 [[expression]]

 test expression


整数比较:比较加中括号

 -eq: =相等 [ $a -eq $b ]

 -ne:\=不等

 -gt:>大于

 -lt:<小于

 -Gt:>=

 -Lt:<=


################################################


命令间的逻辑关键

  逻辑与:&& 第一个为假,第二个不用执行

          ||  第一个为真,第二个要执行


创建user7,不存在创建user7,存在提示已存在


[root@Jameszhan ~]# vi ./id.sh


#!/bin/bash

#

! id user7 &> /dev/null && useradd user7 || echo ‘user7 is exist‘

      

      或:|| 第一个为真


################################################


本文出自 “Jameszhan linux高级运维” 博客,请务必保留此出处http://jameszhan.blog.51cto.com/10980469/1880110

shell编程基础必知