【shell编程系列】CentOS 7shell编程之变量

1.查看系统中的解释器

cat /etc/shells 

在这里插入图片描述
2.安装解释器

yum install 解释器名 

3.修改用户解释器

usermod -s /bin/解释器名 用户名
或
chsh -s /bin/解释器名 用户名

4.输出重定向

#使用> 重写a.txt
ls > a.txt
#使用 >> 追加a.txt内容
ls >> a.txt
#使用2>将错误的信息输出
ls 2> a.txt
#使用&>既将正确信息输出,也将错误信息输出
ls &> a.txt

5.给first.sh脚本添加可执行权限

chmod +x first.sh

6.运行脚本

#需要赋予可执行权限
./first.sh
#不需要赋予可执行权限
sh first.sh
bash first.sh
#或,不会启动子程序,使用pstree命令查看进程树
sourse first.sh

7.输出hello word

#!/bin/bash
echo "hello word"

8.定义变量

以固定的名称,存放可以能有变化的值定义变量的格式:
   变量名=变量值
取消变量的格式:
   unset 变量名
注意事项:
    =两边不能有空格,不要使用关键字做变量名,如ls、cd等
    如果变量名已经存在则覆盖之前的变量值
    变量名称有:字母/数字/下划线组成,不能以数字开始
查看变量的语法格式:
    $变量名
    ${变量名}
预定义变量:
    环境变量(变量名通常大写,有操作系统维护)
        存储在/etc/profile或~/.bash_profile
        命令env可以列出所有环境变量
        常见环境变量:
            PATHPWDUSERUIDHOMESHELL
            如:echo $PWD  #查看当前工作目录
                echo $HOME  #查看当前家目录
                
    位置变量(bash内置变量,存储脚本执行时的参数
        存储脚本执行时的参数
        使用$n表示,n为数字序列号
        $1$2、…、${10}${11}、…
        
    预定义变量(bash内置变量,可以调用但是不能赋值或修改)自定义变量(用户自主设置)
        直接使用这些变量
        不能直接为这些变量赋值
        变量名        含义
          $0    当前所在的进程或脚本名
          $$    当前运行进程的PID号
          $?   	命令执行后的返回状态,0表示正常,1或其他值表示异常
          $#    已加载的位置变量的个数
          $*    所有位置变量的值
    多种引号的区别
        双引号"":允许扩展,以$引用其他变量
        单引号'':禁用扩展,即便$也视为普通字符.
        反引号` `:将命令的执行输出作为变量值,$0)与反引号等效
    read 从键盘读入变量值完成赋值
         格式: read[-p"提示信息"]变量名
         -p可选,-t 可指定超时秒数,-s设置是否在终端显示输入的内容.
    变量的作用范围
        局部变量   新定义的变量默认只在当前Shel!环境中有效,无法在子Shel环境中使用
        全局变量   全局变量在当前Shell及子Shell环境中均有效
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值