linux黄金变量,Linux变量

变量:(大的分为环境变量与本的变量)

本地变量:

本地变量在用户现在的shell生命期的脚本中使用。例如,本地变量file-name="loop.doc",这个值只在用户当前shell生命期有意义。

如果在shell中启动另一个进程或退出,此值将无效。这个方法的优点就是用户不能对其他的shell或进程设置此变量有效。

即只在当前shell中定义的变量。

shell变量:定制用户本身的工作环境。使用变量可以保存有用信息,使系统获知用户相关设置。如:EDITOR之类在.profile中定义的变量

显示变量:echo ${file-name} #.{}为非必须

清除变量:unset file-name

查看所有变量:set

variable-name:-value - 当variable-name没有设置时取value的值,否则取variable-name的值,不会将alue传给variable-name

variable-name:=value - 当variable-name没有设置时将value的值赋给variable-name

variable-name:?"variable not set" - 当variable-name没有设置时,显示未定义的用户错误信息,错误提示可以自己定义

设置变量只读:readonly variable-name

查看所有只读变量:readonly

环境变量:

环境变量用于所有用户进程(经常称为子进程) 。登录进程称为父进程。shell中执行的用

户进程均称为子进程。不像本地变量(只用于现在的shell)环境变量可用于所有子进程,这

包括编辑器、脚本和应用。

环境变量的设置:(环境变量一般大写)

TEST_VAR=value;export value

或者

TEST_VAR=value

export value

或者

export TEST_VAR=value

本的变量或者环境变量如果长期使用都可以写在.profile或者/etc/profile中以方便当另一个shell使用时设置初始值。

每个shell对变量的更改是不影响另一个shell的。

查看所有环境变量:env、export

清除环境变量:unset varibale_name ,清除环境变量以后,该环境变量对接下来的子进程均无效了

嵌入shell变量:Brourne shell 有一些预留的环境变量名,这些变量名不能用作其他用途。

嵌入shell变量列表:

CDPATH - 作用于cd命令,如果设置了CDPATH,当执行cd命令时,会首先从CDPATH下查找,如果没有再查找当前目录,多个路径用:隔开(:/home/test:/home/tiny/bin)

EXINIT - vi编辑器的初始化选项

HOME - 定位于passwd的倒数第二列的值

IFS - 指定shell缺省的分隔符,在分隔文件或变量中各域时很有用。

LOGNAME - 登录名

MAIL - MAIL变量保存邮箱路径名

MAILCHECK -缺省每6 0 s检查新邮件,但如果不想如此频繁检查新邮件,比如设为每 2 m,

MAILPATH - 如果有多个邮箱要用到MAILPATH,此变量设置将覆盖MAIL设置。

PATH - PATH变量保存进行命令或脚本查找的目录顺序,正确排列这个次序很重要,可以在执行命令时节省时间

PS1 - 基本提示符包含shell提示符,缺省对超级用户为 #,其他为$

PS2 - P S 2为附属提示符,缺省为符号>

SHELL - SHELL变量保存缺省shell,通常在/etc/passwd中已设置

TERMINFO - 终端初始化变量保存终端配置文件的位置

ERM - TERM变量保存终端类型

TZ - 时区变量保存时区值,只有系统管理员才可以更改此设置

其他一些默认缺省的:

EDITOR

PWD

MANPAGE

PAGER

LPDEST/PRINTER

将变量导出到子进程:export

在脚本a中:father=script1;export father

在脚本b中:echo $father

当在a中调用b时(b是a创建的子进程),如果没有没有export father则将输出空值,否则输出script1

两种特殊的只读变量:

位置变量:(参数位置),目前最多$0~$9,$0是脚本本身名字,其余依次是脚本的参数

特定变量:

$# 传递到脚本的参数个数

$@ 与$#相同,但是使用时加引号,并在引号中返回每个参数

$* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过 9个

$$ 脚本运行的当前进程I D号

$! 后台运行的最后一个进程的进程I D号

$- 显示s h e l l使用的当前选项,与s e t命令功能相同

$? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

linux变量心得

前一段时间学习了一下linux的变量,现在总结有3点需要特别注意: linux变量和C/C++变量的区别 linux变量的引用 linux变量特有的命令替换 先说第一点,linux变量更像是宏定义,只 ...

linux --> Linux变量之$#, $*, $@含义

Linux变量之$#, $*, $@含义 一.介绍 $# //是传给脚本的参数个数 $ //是脚本本身的名字 $1 //是传递给该shell脚本的第一个参数 $ //是传递给该shell脚本的第二个参 ...

Linux变量及运算

变量赋值:var=var_value 变量引用:$var 算术运算:var=`expr $var1 + $var2` 字符串连接:var=str$var1 数值比较:-eq/-ne/-gt/-lt/- ...

Linux 变量的使用

目录 1. Shell 脚本规范 2. Shell 脚本执行 3. Shell 脚本变量 3.1 环境变量 3.1.1 自定义环境变量 3.1.2 显示与取消环境变量 3.1.3 环境变量初始化与对应 ...

菜鸟学Linux - 变量基本规则

变量是一个很重要的概念,无论是bash脚本还是其他语言,都是如此.在bash中,创建变量很简单,给变量一个名称即可.默认情况下,变量的值为空.我们可以通过等号为变量赋值.需要注意的是,变量和变量的值不 ...

Linux - 变量

printenv - print all or part of environment 显示所有变量:print 显示某个变量:print 或者 echo ...

Linux变量内容的删除、取代与替换

变量内容的删除与取代 范例一:先让小写的 path 自定义变量配置的与 PATH 内容相同 [root@www ~]# path=${PATH} [root@www ~]# echo $path /u ...

Linux变量键盘读取、数组与声明: read, array, declare

[root@www ~]# read [-pt] variable 选项与参数: -p :后面可以接提示字符! -t :后面可以接等待的『秒数!』这个比较有趣-不会一直等待使用者啦! 范例一:让用户由 ...

随机推荐

localStorage使用总结

一.什么是localStorage.sessionStorage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题 ...

Nginx基础知识之————RTMP模块中的中HLS专题(翻译文档)

一.在Nginx配置文件的RTMP模块中配置hls hls_key_path /tmp/hlskeys; 提示错误信息: nginx: [emerg] the same path name &quot ...

删除xcode 里的多余证书

删除xcode 里的多余证书 方法一: command+shift+G 前往文件夹: ~/Library/MobileDevice/Provisioning Profiles 方法二: 进入xcode ...

svn常见错误总结

1. svn: Server sent unexpected return value (500 Internal Server Error) in response to OPTIONS reque ...

Linux ps同时查找多个进程

1.显示当前所有进程 SDCxM-SDCAM-root-root> ps aux USER       PID %CPU %MEM    VSZ   RSS TTY      STAT STAR ...

python 3Des 加密

import hashlib; from Crypto.Cipher import DES3 import base64 def create_key(sk): r=hashlib.md5(sk).d ...

9会飞的li标签

在InteliJ IDEA中写Dart及配置IDEA - Dart Plugin

此文运用的是优雅的Markdown而书 Dart官方建议使用的编译器是DartEditor,我下载下来看下,和Eclipse的界面很相像.对于Eclipse,我是既爱又恨,爱它的稳定,恨它的功能没有I ...

使用C++实现图形的旋转、缩放、平移

编译环境:VS2017 编译框架:MFC 实验内容:显示一个三角形,并将其绕中心进行旋转.缩放以及平移等操作 实验步骤: 1.打开VS2017,并创建MFC项目,具体方法参见:http://www.c ...

JavaScript中innerHTML与innerText,createTextNode的区别

innerHTML和innerText 它们都会把元素内内容替换掉,区别在于: innerHTML 会把替换内容里的 HTML 标记解释执行. innerText 会把替换内容里的 HTML 标记原样 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值