Linux基础之shell变量

简介: Linux基础之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:用户环境变量

相关文章
|
1月前
|
Shell Linux
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
96 32
|
6月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
4月前
|
存储 Shell Linux
Linux 如何更改默认 Shell
Linux 如何更改默认 Shell
141 0
Linux 如何更改默认 Shell
|
5月前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
127 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
4月前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
5月前
|
存储 Java Shell
Shell 变量
10月更文挑战第2天
46 0
|
6月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
6月前
|
Shell
shell脚本变量 $name ${name}啥区别
shell脚本变量 $name ${name}啥区别
|
6月前
|
人工智能 监控 Shell
常用的 55 个 Linux Shell 脚本(包括基础案例、文件操作、实用工具、图形化、sed、gawk)
这篇文章提供了55个常用的Linux Shell脚本实例,涵盖基础案例、文件操作、实用工具、图形化界面及sed、gawk的使用。
1031 2
|
5月前
|
存储 Shell Linux
【Linux】shell基础,shell脚本
Shell脚本是Linux系统管理和自动化任务的重要工具,掌握其基础及进阶用法能显著提升工作效率。从简单的命令序列到复杂的逻辑控制和功能封装,Shell脚本展现了强大的灵活性和实用性。不断实践和探索,将使您更加熟练地运用Shell脚本解决各种实际问题
73 0