Linux学习 - Bash变量

一、用户自定义变量(本地名)

  用户自定义变量只有在当前的shell中生效

  1 定义变量

    name="zheng huiwei"

    aa=123

  2 变量叠加

    aa="$aa"456

    aa=${aa}789

  3 变量调用

    echo $name

    echo $aa

  4 变量查看

    set

  5 变量删除

    unset name

    unset aa

二、环境变量

  保存的是和系统操作环境相关的数据,

  环境变量会在当前shell和这个shell的所有子shell当中生效,如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的shell中生效。

  使用命令:bash可以建立子shell,使用命令:pstree确定进程数

  1 申明变量

    export 变量名=变量值

    或

    变量名=变量值

    export 变量名

  2 查询变量

    env

  3 删除变量

    unset 变量名

  4 系统常见环境变量

    (1)PATH:系统查找命令的路径

        # echo $PATH

        /usr/lib/qt-3.3/bin: /usr/local/sbin/: usr/local/bin: /sbin: /bin: /usr/sbin: /usr/bin: /root/bin

       注:可以将自己的脚本位置添加到PATH系统查找命令路径之下

         例如我的脚本在/home/zhw/sh/hello.sh中,使用变量叠加命令

         PATH="$PATH":/home/zhw/sh 将脚本位置添加到系统查找命令路径下

    (2)PS1:定义系统提示符的变量

提示符 功能 格式
\d 显示日期 “星期 月 日”
\h 显示简写主机名 默认“localhost”
\t 显示24小时制时间 “HH:MM:SS”
\T 显示12小时制时间 “HH:MM:SS”
\A 显示24小时制时间 “HH:MM”
\u 显示当前用户名  
\w 显示当前所在目录的完整名称  
\W 显示当前所在目录的最后一个目录  
\# 显示执行的是第几个命令  
\$ 提示符
root用户提示“#”

普通用户提示“$”

          例:

          

三、位置参数变量

  用来向脚本当中传递参数或数据,变量名不能自定义,变量作用是固定的

位置参数变量 作用
$n 
$0代表命令本身

$1-$9代表第1个到第9个输入参数

${10}

$*  $*把所有的参数看成一个整体
[email protected] [email protected]把每个参数区分对待
$# 命令行中所有参数的个数

四、预定义变量

  在Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的

  1 预定义变量

预定义变量 作用
$?
最后一次执行的命令的返回状态

返回0:上一条命令执行正确

返回非0:上一条命令执行错误

$$ 当前进程的进程号(PID)
$! 后台最后一个进程的进程号(PID)

      例:$?

          

      例:$$、$!

          

          

  2 键盘输入接收

      read [选项] [变量名]

        -p [显示信息]    在等待read输入时,输出提示信息

        -t [秒数]       指定read输入等待时间

        -n [字符数]     指定read只接收n个字符输入

        -s         隐藏输入数据 

      例   

      

      

原文地址:https://www.cnblogs.com/zhw-626/p/8521767.html

时间: 2024-08-01 23:38:46

Linux学习 - Bash变量的相关文章

linux之bash变量

bash变量之高级部分 1.变量扩展 ${变量名称}                     变量扩展                          例如:${filename} $(命令)                            命令替换                          例如:$(ls /) $((算术式))                       算式扩展                          例如:$((9+9)) 变量扩展:一种简易的条

Linux学习 —bash的I/O重定向和管道

        程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合.为实现预期目的而进行操作的一系列语句和指令 也就是说程序=指令+数据,或者数据结构+算法 程序必须能够读入输入然后经过加工来产生结果:程序获取的数据可以是变量.数组.列表.文件等等,程序产生出来的结果可以是变量.数组.列表.文件等等 也就是说,程序都有读入数据和输出数据的要求 当程序不指从哪里输入,输出到哪里,就是用默认的途径进行数据的交换,一般缺省的输入我们称之为标准输入,缺省的输出我们称为

Linux学习——环境变量设置

一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量.例如我的mips-linux-gcc编译器在“/opt/au1200_rm/build_tools/bin”目录下,build_tools就是我的编译工具,则有如下三种方法来设置环境变量: 1.直接用export命令: #export PATH=$PATH:/opt/au1200_rm/build_tools/bin 查看是否已经设好,可用命令export查看: [[email protected] bin]# e

学习bash——变量

一.什么是变量 二.变量内容的设置 关键词:变量,变量名称,变量的内容(我默认将变量与变量名称等价) 方法:变量=变量的内容 注:一个变量未被设置内容时,默认的内容是"空"的. [变量的设置规则] 变量与变量的内容以一个等号"="来连接 等号两边不能直接接空格符 变量名称只能是英文字母与数字,并且开头字符不能是数字 变量内容若有空格符可使用双引号(特殊字符仍是特殊字符)或单引号(特殊字符仅为纯文本)将变量内容结合起来 可用转移字符"\"将特殊符号

Linux学习记录-变量

本地变量 varname=value 作用域为整个bash进程 局部变量 local varname=value 作用域为当前代码段 环境变量 export varname=value 作用域为当前shell进程及其子进程 位置变量 $1,$2,... 特殊变量 $? 上一个命令执行状态返回值 echo $? 执行结果又两种返回值(0-255) 0 执行正确 1-255 执行错误 撤销变量 unset varname 查看当前变量 set 查看当前shell中的环境变量 printenv env

linux学习--bash

bash: 1.命令历史.命令补全 2.管道.重定向 3.命令别名 4.命令行编辑 5.命令行展开 6.文件名通配 7.变量 8.编程 命令行编辑: 光标跳转: Ctrl+a:跳到命令行首 Ctrl+e:跳到命令行尾 Ctrl+u: 删除光标至命令行首的内容 Ctrl+k: 删除光标至命令行尾的内容 Ctrl+l: 清屏 命令历史: 查看命令历史:history -c:清空命令历史 -d OFFSET [n]: 删除指定位置的命令 -w:保存命令历史至历史文件中 环境变量 PATH:命令搜索路径

Linux学习-环境变量

学习之前就告诉自己要每天写一篇总结的,可惜前两天都忘了.那就从今天开始吧....都是自己的理解,一些概念不太准确,勿深究. 一.什么是环境变量 是系统运行时存在的参数,是全局的变量. 二.环境变量的分类 按生命周期划分,分为永久的.临时的两种.永久的就是写到配置文件中,不会因为关闭或重启而丢失. 三.环境变量的命令 介绍下面两个命令 printenv:显示环境变量,全部显示. echo:显示某个环境变量的值.注意,环境变量名前需加'$'表示出是变量,否则就是普通回显字符串. 四.环境变量的设置

Linux系列教程(二十二)——Linux的bash变量

上篇博客我们介绍了bash的一些基本功能,这是我们平时操作最频繁的.本篇博客我们介绍bash的变量,为后面编写shell脚本做铺垫. 1.什么是变量 变量是计算机内存的单元,其中存放的值可以改变. 当 shell 脚本需要保存一些信息时,如一个文件名或者一个数字,就把它放在一个变量里.每个变量都有一个名字,可以根据名字来引用变量. 使用变量可以保存有用信息,使系统获知用户的相关设置,变量也可以保存暂时信息. 2.变量的声明规则 3.变量的分类 4.用户自定义变量的用法 用户自定义变量也就是本地变

Linux学习笔记--bash脚本编程之一变量、变量类型

bash脚本编程之一变量.变量类型 shell编程: 编译器,解释器 编程语言:机器语言.汇编语言.高级语言 静态语言:编译型语言 强类型(变量)语言 事先转换成可执行格式 C.C++.JAVA.C# 动态语言:解释型语言       on the fiy                                   弱类型 边解释边执行 ASP.ASP.net.PHP.shell.Python.perl 面向过程:shell.C   面向对象:JAVA.Python .Perl.C++