shell简介及变量的定义查看撤销
1.shell分类及相关软件
| 图形界面Shell(Graphical User Interface shell 即 GUI shell),如:GNOME、KDE
命令行式Shell(Command Line Interface shell ,即CLI shell),如:bash/sh/ksh/csh(Unix/linux 系统) Shell软件有:Bourne shell 、cshell 、 Korn shell 、Bourne Again shell(bash) 、POSIX shell AIX下是Korn Shell. ---IBM Solaris缺省的是Bourne shell. ---SUN FreeBSD缺省的是C shell --免费 HP-UX缺省的是POSIX shell. --惠普 Linux是Bourne Again shell. ---bash |
2.变量的声明与引用、撤销
定义本地变量: declare
//内部命令,用来声明变量,并可以指定变量类型
| 选项: -i //声明为整型 -a -r -x |
| 注意:declare作用范围仅限于当前源程序文件(加了选项 -x除外),对SHELL来讲:仅对当前shell进程生效,对子进程或者其他shell无效。 注意:变量名只能包含字母,数字和下划线三类字符 注意:当变量声明为整型时,赋值字符型,其值为0 |
例子:
| [lbg@lbg root]$ declare -i a=123
[lbg@lbg 123 [lbg@lbg [lbg@lbg 0 |
进入子进程的方法:
| 进入子进程的方法:直接输入bash即可:[lbg@lbg root]$ bash(可通过pstree命令验证查看) |
定义环境变量:export
| export var_name=value // 作用范围:当前shell及其子shell |
例子:
| [lbg@lbg root]$ export yy=111 ---定义环境变量yy,并赋值为111 [lbg@lbg [lbg@lbg 111 [lbg@lbg exit [lbg@lbg 111 |
变量的引用:${a}
| $a //引用变量a 规范做法是: ${a} |
例子:
| [lbg@lbg root]$ declare -i b=234
[lbg@lbg 234 [lbg@lbg 234 |
环境变量的查看:
| 命令: env / printenv /export
[lbg@lbg [lbg@lbg [lbg@lbg 查看修改系统预设的环境变量:echo $PATH [lbg@lbg |
撤销变量:unset 变量名
| unset 变量名 //撤销变量时不能加$符号
环境变量的撤销:unset:环境变量在哪个bash里声明的在哪撤销,否则撤销只在其shell进程生效,其他shell进程无影响,仍可用该变量。 注意:只读变量不能通过unset撤销.关闭当前shell或脚本运行完后自动撤销. |
例子:
| [lbg@lbg root]$ echo ${b}
234 [lbg@lbg [lbg@lbg [lbg@lbg |
特别的环境变量:PS1/PS2/PS3/PS4
| [lbg@lbg root]$ echo $PS1
[\u@\h [lbg@lbg > [lbg@lbg [lbg@lbg + |
变量PS1说明:
| PS1 [\u@\h \W]\$ //定义当前命令提示符,可以使用一些内置的宏来定义 \h \H \W \w \$ |
变量PS2
>
:续航符。
| 把一个预处理指示写成多行要用“\”续行,在击回车键之前输入“\”,即可实现多行命令输入。
[root@lbg a [root@lbg > b > a |
说明:PS3:不常见
说明:PS4 +:执行命令时,如果追踪命令执行的话,会在命令之前显示+
| shell 跟踪简单的来说就是跟踪 shell 脚本中的命令的执行。要打开 shell 跟踪,请使用 -x 调试选项。如:Bash -x test.sh |
特殊变量?
| 变量?存放程序执行的状态返回值,0表示正常状态,非0表示异常。
[root@lbg 0 |
变量$HOME表示家目录
| echo $HOME --显示家目录
[root@lbg tmp]# echo $HOME /root |
变量$HISTSIZE表示history命令保存的记录数:
| [root@lbg tmp]# echo $HISTSIZE
1000 |
shell简介及变量的定义查看撤销的更多相关文章
- 3.1 shell简介、变量、运算符
小知识: ipcs可以查看系统中创建的ipc进程间通信资源,例如信号量.共享内存等.示例如下: 什么是shell? shell是核心程序kernel之外的指令解析器,是一个程序,同时是一种命令语言和程 ...
- 【Shell脚本学习6】Shell变量:Shell变量的定义、删除变量、只读变量、变量类型
Shell支持自定义变量. 定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编 ...
- 【转】shell 教程——06 Shell变量:Shell变量的定义、删除变量、只读变量、变量类型
Shell支持自定义变量. 定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编 ...
- shell基础及变量符号
kernel主要的功能: 1.内存的管理 2.设备驱动程序 3.文件系统的管理 4.进程的管理 5.网络系统 vim /etc/profile.d/ profile(主配置文件) .d(子配置文件 ...
- 一、shell编程与变量
目录 命令是什么 命令是如何运行的: 基本语法 解释器 注释 如何执行 输入.输出流 重定向 管道符 | 变量 常见Shell变量的类型包括: 变量命名原则 单引号和双引号 反引号 变量作用范围 查看 ...
- (一)Linux Shell编程——简介、变量、字符串、数组
1. Shell简介 1.1 Shell出现背景 Shell 既是一种脚本编程语言,也是一个连接内核和用户的软件. 对于图形界面,用户点击某个图标就能启动某个程序:对于命令行,用户输入某个程序的名字( ...
- 01 shell编程之变量定义
一.SHELL介绍 ㈠ 什么是shell脚本? 简单来说就是将需要执行的命令保存到文本中,按照顺序执行.它是解释型的,意味着不需要编译. 若干命令 + 脚本的基本格式 + 脚本特定语法 + 思想= s ...
- shell之路【第一篇】shell简介与入门
shell简介 1.Shell 诞生于 Unix,Unix的第一个脚本语言,是与 Unix/Linux 交互的工具,单独地学习 Shell 是没有意义的,shell使用的熟练程度反映了用户对Unix/ ...
- Linux Shell编程、变量、控制语句
为什么要学习Shell编程 1)Linux运维工程师在进行服务器集群管理时,需要编写Shell程序来进行服务器管理. 2)对于JavaEE和Python程序员来说,工作的需要,你的老大会要求你编写一些 ...
随机推荐
- MeteoInfoLab脚本示例:利用比湿、温度计算相对湿度
利用比湿和温度计算相对湿度的函数是qair2rh(qair, temp, press=1013.25),三个参数分别是比湿.温度和气压,气压有一个缺省值1013.25,因此计算地面相对湿度的时候也可以 ...
- day58 Pyhton 框架Django 01
内容回顾 python基础 网路编程 并发编程 数据库 前端 osi7层 tcp/ip 5层模型 应用层 表示层 ...
- C语言入门编程需要掌握的核心要点有哪些? 为你总结了这20个!
摘要: C语言作为编程的入门语言,学习者如何快速掌握其核心知识点,面对茫茫书海,似乎有点迷茫.为了让各位快速地掌握C语言的知识内容,在这里对相关的知识点进行了归纳. 引言 C语言精简的语法集和标准库, ...
- 【UR #12】实验室外的攻防战
UOJ小清新题表 题目内容 依然没有粘题面主要是UOJ的题面都太长了qwq UOJ链接 一句话题意:给出两个序列 \(A\) 和 \(B\),对于 \(A\) 进行若干次操作,每次给出一个 \(i\) ...
- 【博弈论】51Nod 1534 棋子游戏
题目内容 波雷卡普和瓦西里喜欢简单的逻辑游戏.今天他们玩了一个游戏,这个游戏在一个很大的棋盘上进行,他们每个人有一个棋子.他们轮流移动自己的棋子,波雷卡普先开始.每一步移动中,波雷卡普可以将他的棋子从 ...
- 【折半枚举+二分】POJ 3977 Subset
题目内容 Vjudge链接 给你\(n\)个数,求出这\(n\)个数的一个非空子集,使子集中的数加和的绝对值最小,在此基础上子集中元素的个数应最小. 输入格式 输入含多组数据,每组数据有两行,第一行是 ...
- docket镜像
1.是什么 镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码.运行时.库.环境变量和配置文件. 1.1.什么是UnionF ...
- 第五章 Linux操作系统关机、重启、注销及其查看ip命令
一.更新系统时间与网络时间同步 1. 安装ntpdate工具 # yum -y install ntp ntpdate 2. 设置系统时间与网络时间同步 # ntpdate cn.pool.ntp ...
- JavaSE学习笔记05面向对象编程01
面向对象编程01 java的核心思想就是OOP 面向过程&面向对象 面向过程思想: 步骤清晰简单,第一步做什么,第二步做什么...... 面向过程适合处理一些较为简单的问题 面向对象思想: 物 ...
- leaflet平台添加天地图方法
leaflet平台添加天地图得方法具体如下操作 var map = L.map('map', { crs: L.CRS.EPSG4326, zoomControl: true, edit ...