码迷,mamicode.com
首页 > 系统相关 > 详细

shell编程

时间:2015-04-22 02:09:12      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:shell编程

一.shell编程

  1.bash的变量类型

   a.环境变量

   b.本地变量(局部变量)

   c.位置变量

   d.特殊变量

  2.本地变量的作用域为当前的bash进程,局部变量作用域为当前代码段,环境变量作用域为当前shell进程及其子进程

  3.本地变量的申明:

   varname=value 

   局部变量的申明:

   local varname=value

   环境变量:

   export varname=value

  4.双引号进行变量的替换,单引号不进行变量的替换

  5.脚本在执行时会启动一个子shell进程:

命令行中启动的脚本会继承当前shell环境变量

系统自动执行的脚本(非命令行启动)就需要自我定义需要各环境变量

  6.用bash命令可以一个新的子进程

  7.逻辑运算: 或 与 非

   或: 只有当两个逻辑判断结果为真时,整个结果才为真

   与: 有一个逻辑判断结果为真时,整个的结果为真(短路判断,当第一个逻辑判断结果为真时,后面的判断就不用执行,整个的结果肯定为真)

   非: 逻辑判断结果为真,整个结果为假。逻辑判断结果为假,整个结果为真

  8.特殊变量:

   $?: 上一个命令的执行状态返回值

   程序执行,可能有两类返回值:

   程序执行结果

   程序状态返回代码(0-255)

  0: 正确执行

  1-255:错误执行,1,2,127系统预留

  9./dev/null--软件设备

   作用: 不将执行命令的结果输出到屏幕(&>)

  10.撤销变量--unset

    用法: unset varname

  11.查看当前进程的所有环境变量:

    printenv

    env

    export

  12.shell文件的编写

    #!/bin/bash  文件的默认开头第一行,指定使用哪种shell

    shell脚本写完后需要手动给shell文件执行权限

    chmod +x ./filename

    ./filename 或 bash ./filename 执行脚本文件

练习:写一个脚本,完成以下任务

1、添加5个用户, user1,..., user5

2、每个用户的密码同用户名,而且要求,添加密码完成后不显示passwd命令的执行结果信息

3、每个用户添加完成后,都要显示用户某某已经成功添加

# useradd user1

# echo "user1" | passwd --stdin user1 &> /dev/null

# echo "Add user1 successfully."

  

   

   

  



  

本文出自 “珞辰的博客” 博客,请务必保留此出处http://luochen2015.blog.51cto.com/9772274/1636686

shell编程

标签:shell编程

原文地址:http://luochen2015.blog.51cto.com/9772274/1636686

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!