变量

  默认是字符串型,数值型需要显示指定

  等号两侧都不能有空格

  单引号:原始字符串  双引号:保留转义

  命令结果作为值:反引号 或 $()

  环境变量一般用大写


自定义变量

  变量定义    name="xx oo"

  变量叠加    aa=123   aa="$aa"456  aa=${aa}789

  变量调用    echo $aa

  变量查看    set

  变量删除    unset aa


环境变量

  用户自定义变量 -- 只在当前Shell中生效

  环境变量 -- 当前Shell和所有子Shell中都生效,

         如果写入配置文件,则会在所有Shell中都生效

  设置环境变量

    声明

      export name=sqd

      sex=male    export sex

    查询  env

    删除  unset

  PATH -- 系统查找命令的路径

    添加路径  PATH="$PATH":/root/

  PS1 -- 定义系统提示符的变量

    默认  PS1='[\u@\h \W]\$ '

    修改  PS1='[\u@\t \w]\$ '

    

   


位置参数变量

  变量名和作用都是固定的,只能传入不同的值

   


预定义变量

  

接收键盘输入

  read [选项] 变量名

    -p "提示信息"

    -t 秒数

    -n 字符数

    -s            隐藏


数值运算与运算符

  declare声明变量类型

    declare [+-] [选项] 变量名

      -: 设定类型属性

      +:取消类型属性

      -i:integer

      -x:环境变量

      -p:显示指定被声明的类型

  数值运算

    方法一:

      declare -i c=$a+$b

    方法二:

      d=$(expr $a + $b)    #加号两侧有空格

    √方法三:

      $((运算式)) 或 $[运算式]

  运算符

    


变量测试与内容替换

  通过x的值,测试y的情况

  


环境变量配置文件

  source命令  -- 使配置文件直接生效

      source 配置文件   或   . 配置文件

  系统中环境变量配置文件的位置

    /etc/profile

    /etc/profile.d/*.sh

    ~/.bash_profile

    ~/.bashrc

    /etc/bashrc

    

  其他环境变量配置文件

    注销时生效的:~/.bash_logout

    历史命令:~/.bash_histoty

    

    Shell登录信息:

      本地终端登录信息:/etc/issue

        

      

      远程终端登录信息:/etc/issue.net

        不能使用转义符,只能显示纯文本

        是否显示信息,由ssh的配置文件/etc/ssh/sshd_config决定

          加入"Banner /etc/issue.net"才能生效(重启sshd)

      登录后显示信息:/etc/motd

        本地和远程都能显示

Linux学习 -- Shell基础 -- Bash变量的更多相关文章

  1. Linux学习 -- Shell基础 -- Bash基本功能

    历史命令 history -c   clear -w   写入 ~/.bash_history 默认保存1000条, 可在/etc/profile中修改 调用 Tab补全 命令.目录.文件 命令别名 ...

  2. Linux学习——shell编程之变量

    shell编程之变量:Linux shell编程基础中的变量. 包括Bash变量的分类和各变量的详细使用,如:用户自定义变量.环境变量.语系变量.位置参数变量和预定义变量. 1:什么是Bash变量? ...

  3. Linux学习——Shell基础

    1 shell概述 Shell 是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动,挂起,停止甚至编写一些程序. Shell 还是一 ...

  4. Shell基础-Bash变量-用户自定义变量

    变量设置规则: 变量名称可以由字母.下划线和数字组成,但是不能由数字开头. 在Bash中变量的默认类型是字符串类型,若需要进行数值运算,则需指定变量类型为数值型.变量用等号链接,且两边不能有空格.若需 ...

  5. linux笔记:shell基础-bash变量

    shell变量设置规则: 变量的分类: 环境变量的设置: 系统常见环境变量: 位置参数变量(用来接收脚本的参数): 预定义变量: 接收键盘输入(将键盘输入的值赋值给变量名): 用declare声明变量 ...

  6. Linux学习 -- Shell基础 -- 概述

    Shell是什么? 命令解释器 编程语言 Linux支持的Shell类型 cat /etc/shells 主要学习 bash 脚本执行方式 echo echo -e 单引号 -- 原始字符串  双引号 ...

  7. Shell基础-环境变量配置文件

    Shell基础-环境变量配置文件 source 配置文件 或者 . 配置文件: 把环境变量写入配置文件后,需要用户重新登陆才能生效,而是用source命令,则能直接生效 主要的配置文件: /etc/p ...

  8. Linux学习-计算机基础

    Linux 学习-计算机基础 一.描述计算机的组成及其功能. 计算机系统是由硬件(Hardware)和软件(Software )两部分组成. 硬件: 从硬件基本结构上来讲,计算机是由运算器.控制器.存 ...

  9. linux学习18 shell脚本基础-bash变量和逻辑运行

    一.回顾 1.用户管理,权限管理,install,mktemp 2.用户管理: 3.权限管理: mode,ownership mode: user group other r w x 4.命令:ins ...

随机推荐

  1. erlang 常用的计算长度函数

    1.size 可以计算元祖长度和标准binary长度 2.tuple_size 计算元祖长度 3.length 计算列表长度 4.byte_size 计算标准和非标准binary的长度 非标准 < ...

  2. zabbix 监控mysql主从

    这里记录了,每次都百度查询多次. zabbix默认包含mysql监控 其中包含 mysql的基本状态监控 MySQL主从监控需要结合自定义 1)目前项目需求 只对 Slave_IO_Running . ...

  3. 移动前端不得不了解的HTML5 head 头标签(中下篇)

    SEO 优化部分 页面标题<title>标签(head 头部必须)        <title>your title</title>    页面关键词 keywor ...

  4. Deep Learning(深度学习)网络资源

    Deep Learning(深度学习) ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):一 ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习): ...

  5. javaWEB总结(1):第一个servlet程序

    1.新建一个javaWeb工程,工程的目录如下 2.在com.dao.chu的包下新建一个HelloServlet.java类 package com.dao.chu; import java.io. ...

  6. shape的使用

    android在布局边缘位置处理圆角的两个办法: 1),一个是直接让美工切一张带有圆角的图片. 2),使用shape来解决. 第一种不在赘述,主要讲一下第二中方法来实现. 上边缘出现圆角,下边缘正常的 ...

  7. psql 命令总结

    1 登录数据库 Connection options: -h, --host=HOSTNAME database server host or socket directory (default: & ...

  8. 避免IE执行AJAX时,返回JSON出现下载文件

    <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.conv ...

  9. Unable to chmod /system/build.prop.: Read-only file system

    Unable to chmod /system/build.prop.: Read-only file system 只读文件系统 所以需要更改 使用下面的命令 mount -o remount,rw ...

  10. XTEA加密算法

    XTEA加密算法 #include <stdint.h> /* take 64 bits of data in v[0] and v[1] and 128 bits of key[0] - ...