Linux Shell变量的使用轻松学习

系统 Linux
本文将给大家讲解Linux Shell变量的知识,其中包含它的概念及使用,还讲到了环境变量和位置变量参数。环境变量用于所有的用户进程。在向脚本传递参数时,可以使用此位置变量来获取参数。

学习Linux Shell变量时,你可能会遇到Shell变量使用的问题,这里将介绍本地变量的使用,环境变量等的使用。在这里拿出来和大家分享一下Linux Shell变量的使用

一、本地变量的使用      
本地变量就如同局部变量一样,只在本SHELL中起作用。它不会影响到其他SHELL中的变量。

1。显示变量值
可以使用echo命令。需要注意的是,使用变量的时候必须在变量名前加上$符号
2。清除变量
使用unset命令可以清除命令。
3。显示所有本地Linux Shell变量
SHELL中预定义了一些环境变量。要想显示这些命令,可以使用set命令。
另外,用户自己已经定义过的本地变量也会在其中显示。
4。测试变量是否已经赋值
${variable:-value}
如果变量已经赋值,则使用该变量值。如果变量为空,则使用value。需要注意的是,value并不赋给variable。
${variable:=value}
该表达式上面的区别就是,如果variable为空,则value赋给variable。
如果需要检验变量是否为空,如果为空的话则显示带有系统错误信息,则使用下面的表达式:
${variable:?}
如果需要显示自己定义的信息,则如下:
${variable:?"customed message "}
5。设置只读变量
使用readonly可以将变量定义成只读。
readonly variable
单独执行readonly可以显示所有的只读变量。

二、环境变量      
环境变量用于所有的用户进程。在Linux中,登陆进程称为父进程,shell中执行的用户程序均称为子进程。
环境变量可以在命令行中设置,但用户注销时这些值将丢失。因此***在$HOME/目录下的.profile中定义。
传统上环境变量均为大写。环境变量应用于用户进程之前,必须用export命令导出。设置方法与本地变量设置方法相同。

1。显示环境变量
使用env命令可以察看所有环境变量
2。潜入SHELL变量
EXINIT保存使用vi编辑器的初始化选项。比如要显示行号,则如下:
EXINIT='set nu';export EXINIT
HOME:用于记录用户的主目录;
IFS:用作shell指定的缺省域分隔符。
PATH:保存进行命令或脚本查找的目录顺序。可以在.profile中进行设置。
3。将变量导出到子进程
在父脚本中使用export命令可以将变量导出,这样子脚本便可以知道该变量的值。 54com.cn

三、位置变量参数      
在向脚本传递参数时,可以使用此位置变量来获取参数。

他们分别是:
$0:脚本名字。此变量包含地址,可以使用basename $0获得脚本名称。
$1:***个参数
$2,$3,$4,$5,...一次类推。

四、特定变量参数      
一些脚本运行的相关控制信息

$# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数
$$ 脚本运行的ID号
$! 后台运行的***一个进程的ID号
$@ 与$#相同,但是使用时加引号,并在引号中返回每个参数。
$- 显示shell使用的当前选项。
$? 显示***命令的推出状况。0表示没有错误。

【编辑推荐】

  1. Linux Kernel的新时限调度方案
  2. 详细解析:Linux操作系统的无线网络命令
  3. Linux之父Linus向Windows 7竖起大拇指
  4. 全面讲述linux集群负载均衡
  5. 全面讲解GNU/Linux编程概念
责任编辑:薛辈辈 来源: linux
相关推荐

2011-01-13 14:54:50

2015-08-10 14:42:40

Explain SheShell 命令

2009-10-23 13:44:03

linux Shell

2022-09-29 10:51:18

ShellLinux命令审计

2009-08-28 10:51:21

linux操作系统linux学习SHELL

2009-10-23 13:24:20

linux Shell

2020-01-06 11:50:25

LinuxEquinox桌面

2010-03-23 15:52:41

Linux shell

2016-08-11 09:18:33

awkShellLinux

2012-04-26 14:02:58

ibmdw

2023-11-13 22:08:05

ShellLinux

2024-07-29 14:56:56

2019-10-23 08:00:00

Flask机器学习人工智能

2022-05-09 07:08:14

LinuxBashShell

2023-08-18 14:39:02

2024-01-03 15:35:56

Linux工具Tail命令

2019-09-16 19:00:48

Linux变量

2009-12-25 09:55:18

LinuxShell编程Shell基本语法

2010-03-05 10:50:17

2010-03-05 10:24:33

点赞
收藏

51CTO技术栈公众号