Linux基础之shell变量

  • 一、shell变量及其他相关介绍
  • 二、shell变量类型
  • 三、shell变量用法
  • 四、定义命令别名
  • 五、系统变量文件定义说明

一、shell变量及其他相关介绍

1.编译型语言和解释型语言
编译型语言:编译型语言写在程序执行之前,需要一个专门的编译过程,把程序编译程机器语言。例如Windows的exe格式软件包。
解释型语言:解释型语言不需要编译,在运行程序的时候需要翻译,例如Linux shell中,/bin/bash等。
2.变量:在 Bash shell 中,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。Shell变量的名称以一个字母或者下划线符号开始,后面可以接任意长度的字母、数字或者下划线。
3.变量赋值:变量赋值的方式为变量名称=值,其中“=“两边不能空格。

二、shell变量类型

1.本地变量:由用户自定义的变量名和变量值。又称为局域变量,仅在当前shell中有效,不会继承到子shell。
2.全局变量:全局变量在全局范围内可见,在声明全局变量时,不需要加任何修饰词,仅在当前shell和子shell中有效。

三、shell变量用法

1.本地变量用法
①定义本地变量

[root@control ~]# with_sapce="this is a test variable"
[root@control ~]# echo $with_sapce
this is a test variable

②查看定义的变量

[root@control ~]# set |grep with
with_sapce='this is a test variable'

③取消定义本地变量

[root@control ~]#
[root@control ~]# unset with_sapce
[root@control ~]# echo $with_sapce[root@control ~]# 

2.全局变量用法
①定义全局变量

[root@control ~]# export ATEST=12345
[root@control ~]# echo $ATEST
12345

②查看全局变量

[root@control ~]# env |grep ATEST
ATEST=12345

③取消全局变量

[root@control ~]# unset ATEST
[root@control ~]# echo #ATEST[root@control ~]# 

3.系统的一些全局变量

[root@control ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/nginx/sbin
[root@control ~]# echo $HISTSIZE
20000
[root@control ~]# echo $PS1
[\u@\h \W]\$
[root@control ~]# echo $HOME
/root
[root@control ~]# echo $UID
0

四、定义命令别名

1.定义方法

[root@control ~]# alias test='ls -laF'
[root@control ~]# test /data
total 1152044
drwxr-xrwx.  9 root root       4096 May  5 12:16 ./
dr-xr-xr-x. 31 root root       4096 May  6 15:20 ../
-rw-r--r--.  1 root root 1073741824 Feb 22 21:46 1G.txt
-rw-r--r--.  1 root root    1048576 Feb 22 21:45 1M.txt
drwx------.  2 root root         99 Apr 19 13:33 audit/
-rw-r--r--.  1 root root        715 Jan 30 23:42 block.txt
drwxr-xr-x.  2 root root          6 Jan 24 15:58 dir1/
drwxr-xr-x.  2 root root          6 Jan 24 15:58 dir2/
-rwSrwxr--+  1 root root          0 Jan 24 15:59 file1*
-rw-r--r--.  1 root root          0 Jan 24 15:59 file2
-rw-r--r--.  1 root root          0 Jan 24 15:59 file3
-rw-r--r--.  1 root root          0 Apr 30 13:58 file{o..20}
-rw-r--r--.  1 root root        160 Jan  4 15:41 hello.txt
drwxr-xr-x.  2 root root         21 May  5 12:17 log/
-rw-r--r--.  1 root root       3095 Apr 26 18:50 passwd
-rw-r--r--.  1 root root       3128 Apr 26 18:48 passwd.bak
-rw-r--r--.  1 root root        122 Jan 27 17:34 person.txt
drwxr-xr-x.  2 root root          6 Jan 24 16:39 redhat/
drwxr-xr-x.  2 root root       4096 Jan 24 22:29 scripts/
-rw-r--r--.  1 root root  104857801 Apr 29 01:56 test.txt
drwxr-xr-x.  2 root root       4096 May  1 19:36 tmp/
-rw-r--r--.  1 root root        403 Apr 29 18:31 weblog.txt

2.查看定义的别名

[root@control ~]# alias test
alias test='ls -laF'

3.取消定义的命令别名

[root@control ~]# unalias test
[root@control ~]# alias test
-bash: alias: test: not found

3.永久生效别名

[root@control ~]# echo "alias test='ls -laF'" >> ~/.bashrc
[root@control ~]# alias test
-bash: alias: test: not found
[root@control ~]# source ~/.bashrc
[root@control ~]# alias test
alias test='ls -laF'

五、系统变量文件定义说明

/etc/profile :全局环境变量
~/.bash_profile:用户环境变量
/etc/bashrc:全局环境变量
~/.bashrc:用户环境变量

Linux基础之shell变量相关推荐

  1. linux超级基础系列——shell变量(本地变量和环境变量)

    linux超级基础系列--shell变量(本地变量和环境变量) 2006-12-04 00:39 为使shell编程更有效,系统提供了一些shell变量.shell变量可以保存诸如路径名.文件名或者一 ...

  2. Linux基础篇--shell脚本编程基础

    Linux基础篇–shell脚本编程基础 本章内容概要  编程基础  脚本基本格式  变量  运算  条件测试  配置用户环境 7.1 编程基础 程序:指令+数据 程序编程风格:   过程式:以指令为 ...

  3. linux中对shell变量内容的修改和替换

    鸟哥私房菜中,对这一内容的描述,简直让人看不懂,好不容易找来文章可以帮助理解下. linux中对shell变量内容的修改和替换 1.变量内容修改 file=/dir1/dir2/dir3/my.fil ...

  4. Linux操作系统笔记——Shell变量

    目录 一.Shell变量的基本概念 (一)创建Shell变量 (二)变量引导符($) (三)只读变量(readonly 命令) (四)查看变量(set 命令) (五)清除变量(unset 命令) 二. ...

  5. Linux基础篇–shell脚本编程基础

    本章内容概要  编程基础  脚本基本格式  变量  运算  条件测试  配置用户环境 7.1 编程基础 程序:指令+数据 程序编程风格:   过程式:以指令为中心,数据服务于指令   对象式:以数据为 ...

  6. ex is not shell_linux超级基础系列——shell变量(本地变量和环境变量)

    为使shell编程更有效,系统提供了一些shell变量.shell变量可以保存诸如路径名.文件名或者一个数字这样的变量名.shell将其中任何设置都看做文本字符串. 有两种变量,本地和环境.严格地说可 ...

  7. Linux基础:Shell脚本学习

    一.shell简介 Shell是用户和Unix/Linux内核沟通的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行 ...

  8. Linux基础、Shell基础语法等

    常用指令 sed 删除redis.conf文件中的空行和注释行 sed -i '/^$/ d' redis.conf sed -i '/^#/ d' redis.conf 文件目录类 df -Th 查 ...

  9. linux基础:shell中的sh与bash区别与常用命令

    目录 一,什么是sh和bash? 二,shell的基本用法 2.1,变量 2.2,算术运算 2.3,使用 bash 计算器在shell脚本中进行浮点运算 2.4,shell中的条件判断命令test和[ ...

最新文章

  1. CSS进阶(7)—— 内联元素的掌管者line-height和vertical-align(上)
  2. BUG总结——记一次sql查询未按照想要的次序返回
  3. 第二十六期:英国建设下一代IOT基础设施的历史机遇和挑战
  4. Throwable 结构图
  5. python实操训练300题_如何练习python?有这五个游戏,实操经验就已经够了
  6. python reduce求和_Tensorflow 的reduce_sum()函数到底是什么意思,谁能解释下?
  7. Spring的事务管理难点剖析(1):DAO和事务管理的牵绊
  8. 禁用安全模式小方法!!~
  9. Hadoop 3.X, 纠删码
  10. C++ | 虚函数表内存布局
  11. 跟我学折纸计算机教案,折纸活动教案
  12. 天地图和谷歌地图静态图像素坐标和经纬度坐标互转
  13. 计算机语言中double是什么意思,C语言中double是什么意思?_后端开发
  14. Romax17许可证失败
  15. 词频统计以及分析(词云制作)
  16. 湖北5G继续加码!今年投资64亿元,新建5G基站5万个
  17. Java自学教程!docker运行镜像无反应
  18. python dfs
  19. error: variable '__this_module' has initializer but incomplete type错误解决
  20. linux挂载4tb硬盘分区,centos7挂载新加4T硬盘到home

热门文章

  1. Nagios基本搭建
  2. Python自动化开发之基础篇--Day1
  3. UIScrollView控件常用属性
  4. 整数数组的定义,然后输入一个整数X,假定X不在这个数组,返回小于X位置的最大数目i而超过X位置的最小数目j...
  5. 使用core data
  6. C/C++ struct 区别
  7. mendeley 多PC同步
  8. 【OpenCV入门指南】第五篇轮廓检测 下
  9. FPGA实验五——多周期移位寄存器
  10. linux系统共享盘,linux与其他操作系统文件共享方法