变量的赋值

#定义变量,注意等号两边没有任何空格
variable=
#定义环境变量
export variable=
#双引号:可含空格、可转义特殊字符
variable=" "
#$() 或 反引号:将命令结果赋值给变量
variable=$( )
variable=` `
#将变量值赋值给变量
gg=$aa$bb

变量的取值

#取值
$variable
#标准写法,建议使用此方法
${variable} 

#示例: 
#DAY=sunday
#echo $DAY
sunday
# echo "hello sunday"> $DAY_file.txt
# ls # echo "hello sunday"> ${DAY}_file.txt
# ls sunday_file.txt

变量的取消与查看 

#unset:取消变量和函数
unset variable
unset function
#env    查看系统所有的环境变量
#set 查看所有的系统预设变量+用户自定义变量

局部变量/用户变量

局部变量:只在当前的shell中有效;
      用户变量:针对与当前用户有效, .bashrc 下可以查看。

全局变量/环境变量

当前创建变量的shell即为父shell,全局变量可以从父shell传递到子shell、孙shell···

注意环境变量只能向下传递而不能向上传递。

一些常见的预设变量(可通过 man bash查看):

#变量BASH:显示当前的bash shell
[root@localhost shell]# echo $BASH
/bin/bash #变量BASH_VERSION:显示当前bash shell版本
[root@localhost shell]# echo $BASH_VERSION
4.1.()-release #变量HOSTNAME:主机名
[root@TXY_host test]# echo $HOSTNAME
TXY_host #变量HOSTTYPE:主机架构
[root@TXY_host test]# echo $HOSTTYPE
x86_64 #变量MACHTYPE:主机类型的gnu标识
[root@TXY_host test]# echo $MACHTYPE
x86_64-redhat-linux-gnu #变量LANG:系统的语言环境
[root@TXY_host test]# echo $LANG
C
#设置语言环境为中文
# export LANG=zh_CN.UTF- #变量PWD:当前目录
[root@TXY_host test]# echo $PWD
/shell/test #变量OLDPWD:上一次访问目录
[root@TXY_host test]# echo $OLDPWD
/shell #变量EUID:显示当前用户的UID
[root@localhost ~]# echo $EUID #变量CDPATH:可以快速进入此目录
#cd时会首先查看当前目录是否有network-scripts,若没有则进入CDPATH定义的目录
[root@localhost shell]# CDPATH="/etc/sysconfig"
[root@localhost shell]# cd network-scripts
/etc/sysconfig/network-scripts #变量FUNCNAME:用在函数内,显示当前函数名
[root@TXY_host test]# cat funcname.sh
#/bin/bash
funcname()
{
echo $FUNCNAME
}
funcname [root@TXY_host test]# bash funcname.sh
funcname

特殊变量

1.位置参数

$0:预留保存实际脚本名字;无论脚本是否有参数,此值均可用。
        $1-$9:第1—9个参数

${10}:位置参数大于9后的表示方法

$#:脚本参数的个数总和

$*/$@:表示脚本的所有参数

2. 特定的变量参数

$!   Shell最后运行的后台Process的PID  
        $-   显示shell使用的当前选项,与set命令功能相同
       $$   脚本运行的当前进程ID号

# cat aatest.sh
#!/bin/bash
echo $$
# ./aatest.sh
3520

3.命令返回值

执行一条命令后,

$? 值为0表示执行成功,非0则表示执行失败。

[shell基础]——变量的更多相关文章

  1. shell基础——变量定义

    快速参考: 变量定义格式: 变量名=值 str1="hello world" # define a string var str2=hello # define a string ...

  2. shell基础--变量的数值计算

    变量的数值计算 1.$((表达式)) (1).实验1 [root@~_~ day4]# cat test.sh #!/bin/bash a=6 b=2 echo "a-b=$(($a-$b) ...

  3. Shell基础-环境变量配置文件

    Shell基础-环境变量配置文件 source 配置文件 或者 . 配置文件: 把环境变量写入配置文件后,需要用户重新登陆才能生效,而是用source命令,则能直接生效 主要的配置文件: /etc/p ...

  4. shell基础及变量

    一 Shell概述 1.Shell的作用——命令解释器,“翻译官” shell作为一个人机接口,用于解释用户输入的命令,将命令解释为Linux内核可以执行的2进制代码,并将执行的结果返回在标准终端上. ...

  5. centos shell基础 alias 变量单引号 双引号 history 错误重定向 2>&1 jobs 环境变量 .bash_history source配置文件 nohup & 后台运行 cut,sort,wc ,uniq ,tee ,tr ,split, paste cat> 2.txt <<EOF 通配符 glob模式 发邮件命令mail 2015-4-8 第十二节课

    centos shell基础知识 alias  变量单引号 双引号   history 错误重定向 2>&1  jobs  环境变量 .bash_history  source配置文件 ...

  6. Linux中shell基础、重定向、管道符、环境变量

    1.什么是shell Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器).它接收用户输入的命令并把它送入内核去执行.起着协调用户与系统的一致性和在用户与系统之间进行交互的 ...

  7. shell基础、变量、相关脚本

    目录 一.shell基础 书写规范 引号 配置文件 read交互 脚本调式 小节总结 二.变量 变量类型 位置变量 状态变量 替换和删除 变量补充 变量运算 小节总结 三.相关脚本面试题 统计hist ...

  8. Shell基础(一):Shell基础应用、简单Shell脚本的设计、使用Shell变量、变量的扩展应用

    一.Shell基础应用 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 切换用户的Shell环境       2> 练习命令历史.命令别名       3 ...

  9. (转载)shell变量基础—shell自定义变量

    (转载)http://see.xidian.edu.cn/cpp/html/1494.html 一.Shell定义变量需要遵循的规则 Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下 ...

随机推荐

  1. C# 调取摄像头 +拍照

    1.添加引用 using System.Windows.Media.Imaging; using AForge; using AForge.Controls; using AForge.Video; ...

  2. 网易严选的wkwebview测试之路

    本文来自网易云社区 作者:孙娇 UIWebView是苹果继承于UIView封装的一个加载web内容的类,它可以加载任何远端的web数据展示在你的页面上,你可以像浏览器一样前进后退刷新等操作.不过苹果在 ...

  3. 南昌网络赛 I. Max answer 单调栈

    Max answer 题目链接 https://nanti.jisuanke.com/t/38228 Describe Alice has a magic array. She suggests th ...

  4. nginx处理高并发请求强于apache

    ginx 不同于 Apache2 的一点就是,Nginx 采用单线程,非阻塞,异步 IO 的工作模型. Apache2 对于每一个请求,都会创建一个新进程或线程,会浪费很多内存和 CPU 时间,而 N ...

  5. Chart.js入门教程

    Chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库. 相信大部分人都一样,看到一大筐用文本或者表格形式呈现的数据就头疼.因为这种呈现方式也太无聊了吧...而且这对于我们处理原始 ...

  6. P2046 [NOI2010]海拔 平面图转对偶图(最小割-》最短路)

    $ \color{#0066ff}{ 题目描述 }$ YT市是一个规划良好的城市,城市被东西向和南北向的主干道划分为n×n个区域.简单起见,可以将YT市看作 一个正方形,每一个区域也可看作一个正方形. ...

  7. window.onload和JQuery中$(function(){})的区别即其实现原理

    一.区别 window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行. 在Jquery中$(function(){ })和$(document).ready(function(){ ...

  8. HTML-★★★★★JavaScritp简介与语法★★★★★

    简介: 1.什么是JavaScript? 它是个脚本语言,作用是使 HTML 页面具有更强的动态和交互性,它需要有宿主文件,它的宿主文件就是html文件.  JavaScript 是 Web 的编程语 ...

  9. oracle for update for update nowait

    对数据进行查询操作后,或提示ORA-00054错误,这时选定行的资源被占用,资源正忙.其他程序或者用户在占用着此行数据或者此表. 直接查询. select * from A1 t  ; 此时取到的数据 ...

  10. [转] git merge 将多个commit合并为一条之--squash 选项

    [FROM] https://blog.csdn.net/themagickeyjianan/article/details/80333645 1.一般的做法(直接git merge) Git相对于C ...