shell变量

本文介绍了shell,它是位于用户和内核间的命令解释器。详细阐述了变量的命名规则,如只能含数字、字母、下划线等。还说明了变量的三种定义方式、四种类型(局部、环境、全局环境、系统),以及取消变量的方法(unset 变量名)。

一.shell介绍

shell是一个命令解释器,它位于用户和内核之间,将用户输入的指令解释给内核执行;/bin/bash和/bin/sh是最常用的解释器

二.变量的命令规则

1.只能包含数字,字母,下划线

2.数字不能开头

3.区分大小写

三.变量的定义

第一种方式

变量名=变量值,注意等号等号=两边不能有空格,否则shell会将变量名当初命令执行而报"command not found"的错误

[root@localhost mysql]# name=xiaoming
[root@localhost mysql]# echo $name
xiaoming
[root@localhost mysql]# name = hehe
-bash: name: command not found

第二种方式

通过read交互让用户输入并付赋值给一个变量名

read命令的常用选项:

-p "提示信息" 提示信息,可以用来提示用户需要输入什么信息

-s 隐藏用户的输入内容,比如输入密码时可以隐藏

-t n n秒后会自动回车,所以用户需要在n秒内输入完成

-n num 用户最多可以输入num个字符

第三种方式

变量名=$(命令)或变量名=`命令`,将命令的执行结果赋值给变量

四.变量的类型

局部变量:只在当前终端有效,就是直接在命令行上定义

环境变量:export 变量名=变量值;只在当前进程及其子进程有效

全局环境变量:在/etc/profile配置文件中最后加上export 变量名=变量值,保存后退出,使用source /etc/profile使配置有效

系统变量:

$0 当前的进程名

$1,$2.. 传给脚本的参数顺序

$$ 当前的进程ID

$!当前系统运行的最后一个进程的进程ID号

$? 上一条命令的运行结果,0表示执行成功,非0表示执行失败

$# 参数的个数

$@/$* 所有的参数值

$*是以"$1 $2 … $n"的形式输出所有参数

$@是以"$1" "$2" … "$n" 的形式输出所有参数

系统变量可以在shell脚本中直接使用

五.变量的取消

unset 变量名

 

转载于:https://www.cnblogs.com/golinux/p/10830249.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值