摘要 腾兴网为您分享:linux shell变量解析,智影,智联招聘,智慧消防,音恋等软件知识,以及考拉fm电台,快快游戏,京东企业购app,pdf加密工具,高德导航3d版,电脑驱动,兰溪新闻,我爱网拍,英语趣配音版,豹米,翡翠,船运网,恋恋yy多开器,27寸桌面壁纸,摄像头检测等软件it资讯,欢迎关注腾兴网。本节内容: linux shell变量 一、linux shell 变量操作 A,变量显示、打印 语法:echo $var B,变量设置 语法:var=value 变量的设置规则: 1,变量两端不能直接接空格符 2,变量名称只能是因为...

本节内容:

linux shell变量

一、linux shell 变量操作

A,变量显示、打印

语法:echo $var

B,变量设置

语法:var=value

变量的设置规则:

1,变量两端不能直接接空格符

2,变量名称只能是因为字母与数字,但开头不能使数字

3,双引号内的特殊字符如$等,保持原本特性

复制代码 代码示例:

[root@jbxue ~]# var="lang is $LANG"

[root@jbxue ~]# echo %var

root@jbxue ~]# echo $var

lang is zh_CN.UTF-8

1,单引号内的特殊字符则仅为一般字符

复制代码 代码示例:

[root@jbxue ~]#

[root@jbxue ~]# var='lang is $LANG';echo $var

lang is $LANG

2,在一串命令中,还需要通过其他命令提供的信息,可用单引号‘命令'或&(命令),举例:指令1在执行的过程中需要先知道指令2的的值,但是指令1,2在一串指令中

复制代码 代码示例:

[root@jbxue ~]# uname -r

2.6.18-371.el5

[root@jbxue ~]# cd /lib/modules/$(uname -r)/kernel

[root@jbxue kernel]#

3,变量的累加

复制代码 代码示例:

[root@jbxue kernel]# var=${var}yes

[root@jbxue kernel]# echo $var

lang is $LANGyes

4,数组变量设置与读取

复制代码 代码示例:

[root@jbxue ~]# array[1]=a

[root@jbxue ~]# array[2]=b

[root@jbxue ~]# array[3]=c

[root@jbxue ~]# echo ${array[1]}

a

[root@jbxue ~]# echo ${array[2]}

[root@jbxue ~]# echo ${array[3]}

c

C.取消变量(unset)

语法: unset var

D.变量查看(set)

语法:set

比较重要的几个自定义变量

HISTFILE:历史记录存储位置

MAILCHECK:多少秒扫描次邮箱,查看是否有新邮件

PS1:提示符设置

$:目前这个shell的PID

?:刚才执行完命令的回传码。0为正确,非0为错误

举例:

比较重要的几个自定义变量

HISTFILE:历史记录存储位置

MAILCHECK:多少秒扫描次邮箱,查看是否有新邮件

PS1:提示符设置

$:目前这个shell的PID

?:刚才执行完命令的回传码。0为正确,非0为错误

E.变量键盘读取(read)

语法:read [-pt] var

选项与参数:

-p:后可跟提示信息

-t:后跟等待输入的描述

举例:

复制代码 代码示例:

[root@jbxue ~]# read atest

this is a test

[root@jbxue ~]# echo $atest

this is a test

[root@jbxue ~]# read -p "please input.. " attest

please input.. hello world      =>提示信息

[root@jbxue ~]# echo $atest

hello world

[root@jbxue ~]# read -p "please input.. " -t 5  atest

please input..  =>5秒未输入回到命令行模式

[root@jbxue ~]#

[root@jbxue ~]# echo $atest

hello world

F.变量声明(declare)

语法:declare [-aixr] var

选项与参数

declare后不接任何内容,代表查询所有变量,作用和set一致

-a  :将后面名为 variable的变量定义成为数组 (array)类型

-i  :将后面名为 variable的变量定义成为整数数字 (integer)类型

-x  :用法与 export一样,就是将后面的 variable变成环境变量;

+x :将环境变量变为自定义变量

-r  :将变量配置成为 readonly类型,该变量不可被更改内容,也不能 unset(需要注销后再登陆才能变回)

举例:

复制代码 代码示例:

[root@jbxue ~]# echo $sum

100+50+10 =>默认当做字符串处理

[root@jbxue ~]# declare -i sum=100+50+10

[root@jbxue ~]# echo $sum

160 =>声明为int 因此可以做加法

[root@jbxue ~]# declare -x sum

[root@jbxue ~]# export | grep sum

declare -ix sum="160" =>查询到是环境变量

[root@jbxue ~]# declare +x sum

[root@jbxue ~]# export | grep sum= >查询不到是环境变量

[root@jbxue ~]# declare -r sum;sum=test

bash: sum: readonly variable =>只读允许修改

G.变量内容删除

语法

${var#/key}:从前往后删除符合key最短的那一个

${var##/key}:从前往后删除符合key最长的那一个

${var%/key}:从后往前删除符合key最短的那一个

${var%%/key}:从后往前删除符合key最短的那一个

举例:${var#/key}

复制代码 代码示例:

[root@jbxue ~]# path=${PATH};echo $path

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin

[root@jbxue ~]# echo ${path#/*:}        =>key为*.(*为通配符)

/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin

举例:${var##/key}

复制代码 代码示例:

[root@jbxue ~]# path=${PATH};echo $path

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin

[root@jbxue ~]# echo ${path##/*:}

/root/bin

H.变量内容替换

语法:

${var/旧字符串/新字符串}:替换第一个满足条件的字符串

${var//旧字符串/新字符串}:替换所有满足条件的字符串

举例:${var/旧字符串/新字符串}

复制代码 代码示例:

[root@jbxue ~]# path=${PATH};echo $path

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin

[root@jbxue ~]# echo ${path/sbin/SBIN}

/usr/kerberos/SBIN:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin

举例:${var//旧字符串/新字符串}

复制代码 代码示例:

[root@jbxue ~]# path=${PATH};echo $path

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin

[root@jbxue ~]# echo ${path//sbin/SBIN}

/usr/kerberos/SBIN:/usr/kerberos/bin:/usr/local/SBIN:/usr/local/bin:/SBIN:/bin:/usr/SBIN:/usr/bin:/usr/X11R6/bin:/root/bin

二、环境变量

普通变量可以理解为局部变量,环境变量可以理解为全局变量,登陆成功获得的bash shell就是一个进程,在此情况下再去打开一个新SHELL就是他的子进程,子进程是无法获取父进程的自定义变量,但是可以获取父进程的环境变量

A.环境变量导出(export )

语法:export  var

B.环境变量查看(env )

语法:env

比较重要的几个环境变量

HOME:代表用户的主文件夹

SHELL:代表目前使用的shell是哪个程序,我现在使用的是/bin/bash

HISTSIZE:历史记录最大存储条数

MAIL:mail命令系统收信时,系统会读取的信箱文件

PATH:执行文件查找路径

LANG:语系信息

RANDOM:随机数变量(0~32767)

三、提示符的设置(PS1)

变量PS1='[\u@\h \W]\$ '记录了命令提示符的显示格式 [root@jbxue ~]#

符号意义

\d :可显示出[星期月日]的日期格式,如:"Mon Feb 2"

\H :完整的主机名。

\h :仅取主机名在第一个小数点之前的名字

\t :显示时间,为 24小时格式的[HH:MM:SS]

\T :显示时间,为 12小时格式的[HH:MM:SS]

\A :显示时间,为 24小时格式的[HH:MM]

\@ :显示时间,为 12小时格式的[am/pm]样式

\u :目前使用者的账号名称,如[root];

\v :BASH的版本信息,如鸟哥的测试主板本为 3.2.25(1),仅取[3.2]显示

\w :完整的工作目录名称,由根目录写起的目录名称。但家目录会以 ~取代;

\W :利用 basename函数取得工作目录名称,所以仅会列出最后一个目录名。

\# :下达的第几个命令。

\$ :提示字符,如果是 root时,提示字符为 #,否则就是 $

举例:

复制代码 代码示例:

[root@jbxue ~]# PS1='[\u@\h\A \W \#]\$ '

[root@jbxue23:45 ~ 82]#

shell环境变量$IFS用法举例

shell脚本学习指南之shell变量

export为shell脚本添加指定环境变量的方法

expect中为send语句上加变量

shell特殊变量的含义

有关linux子shell变量的相关知识

awk中调用shell变量的例子

sed、awk调用shell变量的方法

awk基础知识(7)-变量

相关推荐

linux shell变量的,linux shell变量解析相关推荐

  1. Linux高级专题详解--shell编程大全(shell变量,if语句,case语句,for循环,while循环,函数调用,数组,正则表达式,shell脚本三剑客--grep,sed,awk家族)

    shell编程 初始shell 程序 语言 编程 ---------------------------------- 语言 自然语言:汉语.英语 计算机语言:c语言.c++.(java php py ...

  2. 【Linux】Shell三类变量的作用域——linux shell “永久环境变量”、“临时环境变量”和普通变量之完全解读...

    2015-05-08 00:15 3896人阅读 评论(10) 收藏 举报 本文章已收录于: 分类: 软件开发进阶(419) 作者同类文章X Unix/Linux杂项(118) 作者同类文章X 版权声 ...

  3. linux命令行ps1变量_Linux下SHELL的PS1变量简介

    Linux下SHELL的PS1变量简介 Linux环境变量中PS1是很重要的环境变量: PS(Prompt Sign): 是指命令提示符,例如在Fedora 12的终端下:[liutao@liutao ...

  4. linux shell 变量 管道,linux下shell,变量,管道,重定向等基础知识及技巧

    知识点如下: 1,关于shell编程中的变量,shell编程中的变量分为4种 本地变量:只对本系统本用户自己的shell有用 环境变量:对本系统的所有shell都有用  用export来声明变量  例 ...

  5. linux系统默认的环境变量path,Linux编程 12 (默认shell环境变量, PATH变量重要讲解)...

    一 .概述 默认情况下, bash shell会用一些特定的环境变量来定义系统的环境.这些默认环境变量可以理解是上篇所讲的系统全局环境变量. 1.1 bash  shell支持的Bourne变量 Bo ...

  6. linux脚本 set env,linux 中 set,env,export,declare显示shell变量的区别

    shell变量包括两种变量 1.本shell私有的变量:通过赋值语句定义好的变量,可以通过如下方法定义shell变量 A1="1234" delcare A2="2345 ...

  7. linux shell脚本 定义变量,Shell脚本应用 - 编制shell脚本、shell变量

    随着Linux系统在企业中的应用越来越多,服务器的自动化管理也变得越来越重要.在Linux服务器的自动化维护工作中,除了计划任务的设置以外,Shell脚本的应用也是非常重要的一部分.作为Linux系统 ...

  8. linux下划线后面加变量名,Shell中下划线_与变量的关系

    一个shell脚本根据日期和时间自动备份数据数据库的时候遇到一个问题$ vi /u01/app/bak/bin/public_serbak.sh #!/bin/sh export ORACLE_SID ...

  9. linux 读取命令行输入参数,shell脚本读取文件+读取命令行参数+读取标准输入+变量赋值+输出到文件...

    读取url_list文件批量下载网页 url_list http://www.tianyancha.com/company/2412078287 http://www.4399.com/special ...

最新文章

  1. tensorflow model.compile() 示例
  2. c++中的 单例模式(singleton)和双检测锁(Double-Checked Locking)
  3. 计算机硬件:内存常识知多少?内存知识盲区详解
  4. LVM+Xen虚拟化应用
  5. AndroidStudio_安卓原生开发_自定义ToastUtils---Android原生开发工作笔记135
  6. Beetl 性能揭秘 1 :如何输出一个整型变量
  7. 16进制数组转成10进制 qt_第五课_进制2
  8. 四、BDB JE学习(对java中内置对象的存储)
  9. 微信小程序this.setData如何修改对象、数组中的值
  10. 基于ZigBee的高压开关SF6气体泄漏监测系统
  11. ROS机器人操作系统学习记录
  12. python---字符串的拼接、去重、反转、字母花样排序、单词出现判断、统计文件特定单词频率lambda、硬盘容量、列表转字符串
  13. html页面加声音,HTML5 肿么给网页加屏幕点击声音。
  14. win8桌面计算机图标不见,win8桌面图标消失,win8桌面图标设置方法
  15. 154. 正则表达式匹配
  16. 量化交易入门阶段——欧奈尔的CANSLIM模型(C 季度每股收益增长)
  17. 关于RIGOL可编程电源连接说明(网口连接)
  18. Java/171. Excel Sheet Column Number Excel序号转换数字
  19. 基于Android的车位共享系统的设计
  20. iMeta | 中农李季组揭示有机农业长期定位试验番茄微生物组结构

热门文章

  1. 【渗透测试工具beef】XSS渗透测试工具beef如何安装使用?
  2. kubectl logs和docker logs输出日志不同的问题
  3. 从诱发反应中解码动态脑模式:应用于时间序列神经成像数据的多元模式分析教程
  4. 使用MIT JWI(Java WordNet Interface)查询WordNet反义词
  5. SSRPanel 后端配置对接教程
  6. Python·@property属性
  7. linux gnu含义,GNU是什么意思
  8. Cent OS安装中文字体
  9. 第5节 批处理编写及其示例
  10. springboot 项目启动报Has been loaded by XML or SqlProvider, ignoring the injection of the SQL的错误的解决方案