shell脚本(一)

Shell的作用:命令解释器,介于系统内核与用户之间,负责解释命令行。

用户登录shell默认一般为/bin/bash

   当前系统支持的shell种类放在/etc/shells文件

   创建目录权限默认为755  创建文件默认为644

 

Shell脚本执行方式

  方法一:脚本文件路径,必须有X权限。

  方法二:sh 脚本文件路径,不需要X权限。

  方法三:source 脚本文件路径,不需要X权限。

 

完善的脚本构成

  1.脚本声明

  2.注释信息

  3.可执行语句

 

交互式硬件设备

   类型           设备文件       编号    默认设备

  标准输入        /dev/stdin        0      键盘

  标准输出        /dev/stdout       1      显示器

  标准错误输出    /dev/stderr        2     显示器

 

重定向操作

类型                操作符                  用途

    重定向输入              <               从指定的文件读取数据

重定向输出              >               将输出结果保存到指定的文件(覆盖)

                        >>              将输出结果追加到指定文件

标准错误输出                2>              将错误信息保存到指定文件中(覆盖)

                            2>>             将错误信息追加到指定的文件

                            &>              将标准输出、错误的内容保存到文件

 

awk  -F  以某种符号作为分隔符

 

变量

  变量名=变量值

自定义变量

  变量名=变量值

  变量名以字母或下划线开头,区分大小写,建议全大写,不能有其他特殊符号。

查看变量的值

  格式:echo $变量名

注:当变量名容易跟其后的字符相混淆时,使用{}

 

赋值时引用引号

   双引号:允许“$”符号引用其他变量的值

   单引号:禁止引用其他变量的值,$变为普通字符

   反撇号:命令替换,提取命令执行后的输出结果,把命令的执行结果赋值变量,可用$()代替

Read 命令  从键盘输入变量的值

read  �Cp  “please input   a  number” key  回车

   Please  input a  number  键盘输入

 Export  更改变量为全局变量  

 

整数变量的运算

   格式:expr 变量运算符 变量2

常用运算符

   +       -     \*        /         求模运算%

 

环境变量

    由系统提前创建

    配置文件:  /etc/profile 影响全部用户

               ~/.bash_profile  影响当前用户

1.PATH:指定命令的搜索路径

2.HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)

3.HISTSIZE:指保存历史命令记录的条数。

4.LOGNAME:指当前用户的登录名。

5.HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。

6.SHELL:指当前用户用的是哪种Shell

7.LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。

8.MAIL:指当前用户的邮件存放目录。

9.PS1:命令基本提示符,对于root用户是#,对于普通用户是$

10.PS2:附属提示符,默认是“>”。

 

1.echo              显示某个环境变量值 echo $PATH

2.export           设置一个新的环境变量 exportHELLO="hello" (可以无引号)

3.env       显示所有环境变量

4.set        显示本地定义的shell变量

5.unset            清除环境变量 unset HELLO

6.readonly       设置只读环境变量 readonlyHELLO

位置变量

   表示为$n,n1-9之间的数字

预定义变量

   $#:命令行中位置变量的个数

   $*:所有位置变量的个数

  $?:上一条命令执行后的返回状态,当返回状态值为0时,表正常,非0表异常或出错

  $0:当前执行的进程或程序名

 


你可能感兴趣的:(shell,脚本)