Linux中Shell变量详解

Shell变量分为环境变量和自定义变量,这两则的差异在于该变量能否被子进程使用,看下面的一个示 意图:

如果是环境变量,子进程中还可以继续使用,但如果是自定义的变量,子进程里将失效。

用env查看环境变量

常见的环境变量如下:

1)HOME:用户的主目录(cd ~)

2)SHELL:用户的默认shell

3)HISTSIZE:历史记录条数

4)MAIL:邮件信箱文件

5)PATH:执行文件查找路径

6)LANG:语系

用set查看环境变量和自定义变量

比较重要的自定义变量有:

1)PS1:提示符设置

2)$:本shell的PID

3)?:上个执行命令的返回码

用export把自定义变量变成环境变量

上面我们提到过,只有环境变量才能被子进程使用,所以如果你想让某个自定义变量可以被子进程使 用,就使用export命令把它变成环境变量。

变量的显示和取消 - echo unset

echo用于显示变量的值,如:

# echo $SHELL

/bin/bash

unset用于取消变量,如:

# export a=1
# echo $a
1
# unset a
# echo $a  -- 返回空

语系变量 - locale和LANG

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/Linux/

我们通过locale命令可以获得当前的语系编码,如下所示:

# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

在实际使用中,其实只要设置LANG变量即可。默认的语系变量由以下文件定义:

# cat /etc/sysconfig/i18n

LANG="en_US.UTF-8"

SYSFONT="latarcyrheb- sun16"

变量的声明 - declare

由declare声明的变量默认是自定义的变量,如果加上-x参数表示定义为环 境变量(同export的效果一样)

对用户的资源限制 - ulimit

执行ulimit -a即可列出当前用户资源使用限制情况:

# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 29823
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65535
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索变量
, 进程
, 环境
, utf
, size
自定义变量
linux shell 变量赋值、linux shell 变量、linux shell 定义变量、linux shell 环境变量、linux shell 全局变量,以便于您获取更多的相关知识。

时间: 2024-08-27 12:06:22

Linux中Shell变量详解的相关文章

linux中shell变量$#,$@,$0,$1,$2的含义解释

比如脚本名称叫start.sh 输入参数三个: 1 2 3 运行test.sh 1 2 3后 $*为"1 2 3"(一起被引号包住) $@为"1" "2" "3"(分别被包住) $#为3(参数数量) linux中shell变量$#,$@,$0,$1,$2的含义解释:  变量说明:  $$  Shell本身的PID(ProcessID)  $!  Shell最后运行的后台Process的PID  $?  最后运行的命令的结束代码

Linux中线程使用详解

Linux下多线程详解pdf文档下载:点击这里! 线程与进程为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的系统应该选用多线程?我们首先必须回答这些问题. 使用多线程的理由之一是和进程相比,它是一种非常"节俭"的多任务操作方式.我们知道,在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段.堆栈段和数据段,这是一种"昂贵"的多任务工作方式.而运行于一个进程中的多个线程,它们彼此之间使用相同的地址空

Linux中关机命令详解

在linux下一些常用的关机/重启命令有shutdown.halt.reboot.及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的. 一.常用命令 重启命令 1.reboot 2.shutdown -r now 立刻重启(root用户使用) 3.shutdown -r 10 过10分钟自动重启(root用户使用) 4.shutdown -r 20:35 在时间为20:35时候重启(root用户使用) 若通过shutdown命令设置重启的话,可以用shutdown -c命

linux中lsof命令详解

lsof在linux中是一个很重要的命令,这里简单记录一下. 简介 lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口.因为应用程序打开文件的描述符列表提供了大量关于

【Linux】Linux中at命令详解

在windows系统中,windows提供了计划任务这一功能,在控制面板 -> 性能与维护 -> 任务计划, 它的功能就是安排自动运行的任务. 通过'添加任务计划'的一步步引导,则可建立一个定时执行的任务. 在linux系统中你可能已经发现了为什么系统常常会自动的进行一些任务?这些任务到底是谁在支配他们工作的?在linux系统如果你想要让自己设计的备份程序可以自动在某个时间点开始在系统底下运行,而不需要手动来启动它,又该如何处置呢? 这些例行的工作可能又分为一次性定时工作与循环定时工作,在系统

Linux中dd命令详解

一.dd命令 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: if=文件名:输入文件名,缺省为标准输入.即指定源文件.< if=input file > of=文件名:输出文件名,缺省为标准输出.即指定目的文件.< of=output file > ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节. obs=bytes:一次

Redhat/Fedora linux中RAID类型详解

使用独立磁盘冗余阵列(RAID)的主要目的是提高磁盘http://www.aliyun.com/zixun/aggregation/14345.html">数据处理能力和提供数据冗余. RAID既能通过操作系统来设置(软件式RAID),也可以在不设置操作系统的情况下通过专用RAID控制卡来实现(硬件式RAID).这章将向您解释如何在Redhat/Fedora linux下配置软件式RAID结构. 不管是硬件式或软件式,冗余磁盘阵列RAID能用很多不同的标准来配置,下面我们看看最流行的几种配

linux中shell变量$#,$@,$*,$?,$$,$!,$_,$0,$1,$2的含义解释

变量说明:    $$    Shell本身的PID(ProcessID)    $!    Shell最后运行的后台Process的PID    $?    最后运行的命令的结束代码(返回值)    $-    使用Set命令设定的Flag一览    $*    所有参数列表.如"$*"用「"」括起来的情况.以"$1 $2 - $n"的形式输出所有参数.    $@    所有参数列表.如"$@"用「"」括起来的情况.以&q

Android 开发中使用Linux Shell实例详解

Android 开发中使用Linux Shell实例详解 引言 Android系统是基于Linux内核运行的,而做为一名Linux粉,不在Android上面运行一下Linux Shell怎么行呢? 最近发现了一个很好的Android Shell工具代码,在这里分享一下. Shell核心代码 import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.