shell中的几种变量的区别

shell中的几种变量的区别,第1张

1、环境变量        2、临时变量         3、全局变量

env:来查询环境变量,环境变量能被当前进程和子进程调用,但是不能被新开终端调用              set:是列出所有的临时变量和环境变量,临时变量只能被当前进程调用                                        export:是可以将临时变量变为环境变量                                                                                        unset:取消变量                                                                                              

4、全局变量:

    $HOME/.bashrc:当前用户的bash信息,包括aliase、umask等                          $HOME/.bash_profile:当前用户的环境变量,此处的环境变量可以在新开终端调用        $HOME/.bash_logout:每个用户推出去当前shell时最后读取的文件

5、位置参数变量

    解释:主要是向脚本中传递数据,变量名不能自定义,变量作用是固定的                                    $n:$0代表命令本身,$1-9代表接受的第1-9个参数,10以上需要用{}括起来,比如${10}代表接收的第10个参数                                                                                                                                       $*:代表接收所有的参数,将所有参数看作一个整体                                                                      $@:代表接收的所有参数,将每个参数区别对待                                                                          $#:代表接收的参数个数                                                                                                                $?:代表上一个命定的返回值,0为标准输出,1&2表示没有那个目录或文件,返回127表示命令没找到,返回126表示找到了命令但是无法执行,权限不够

6、定义有类型的变量

     declare                                                                                                                                              -i将变量看成整数                                                                                                                                 -r只读变量                                                                                                                                          -x标记变量通过环境导出,也就是说直接将变量定义为了环境变量

7、 交互式定义变量的值read 主要用于让用户去定义变量值

        -p 提示信息:提示要输入的内容,可以任意定义                                                                            -n 字符数:定义要输入的字符串最长是多少个字符                                                                          -s 不显示 :主要用于密码设置,设置时不会显示,具体用法视情况而定                                         

shell变量包括两种变量

1.本shell私有的变量:通过赋值语句定义好的变量,可以通过如下方法定义shell变量

A1="1234"

delcare A2="2345"

2.用户的环境变量:通过export语法导出的shell私有变量,可以通过如下方法导出用户环境变量

A1="1234"

export A1 #先定义再导出

export A3="34"

导出成的用户环境变量可以在所有的shell中看到

env显示用户的环境变量;

set 显示当前shell的定义的私有变量,包括用户的环境变量,按变量名称排序;

export 显示当前导出成用户变量的shell变量,并显示变量的属性(是否只读),按变量名称排序;

declare 同set 一样,显示当前shell的定义的变量,包括用户的环境变量;

在shell脚本中变量的定义,只能以字母和下划线开始,区分大小写,可以包含数字、字母下划线。

示例代码,读取用户输入到变量myvar,然后再输入。

#!/bin/bash

echo "input myvar"

read myvar

echo "myvar is $myvar"

效果如下:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11433136.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存