博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shell中的变量(定义变量、变量的转译与声明、命令的别名设定、环境变量更改、脚本中的传参)
阅读量:3936 次
发布时间:2019-05-23

本文共 1287 字,大约阅读时间需要 4 分钟。

变量的定义

1.什么是变量

变量就是内存一片区域的地址

2.变量存在的意义

命令无法操作一直变化的目标

用一串固定的字符来表示不固定的目标可以解决此问题

Shell中定义变量的方法

环境级别

export a=1
在环境关闭后变量会失效

在第一个shell中 export a=1,此时可以生效

在这里插入图片描述

在新环境(第二个shell中)查看时,变量定义失效

在这里插入图片描述

用户级别 仅对设置的用户生效

vim ~/.bash_profile
export a=1

vim ~/.bash_profile

在这里插入图片描述

source ~/.bash_profile 此时在两个shell中执行完source命令后,变量都可生效

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

但切换到其他用户时无法使用

在这里插入图片描述

系统级别 所有人可用

vim /etc/profile
export a=1

在这里插入图片描述

在这里插入图片描述

变量名称定义

可使用 “字符” “” “数字” ,不能用数字开头
建议:
变量名称短,全用大写字符
变量名称长,用"
"区分子类
例如:
WESTOS
Westos_dd
Westos_ss

变量的转译与声明

转译

\ #转译单个字符
“” #弱引用,批量转译字符 不能转译 “” “`” “$” “!”
‘’ #强引用
在这里插入图片描述
在这里插入图片描述

声明

a=1
echo $ab
echo ${a}b

a=(ls -l file) #将a定义为命令

echo $a
echo ${a[0]} #查看命令的第0列
echo ${a[3]}
echo ${a[-1]} #查看命令的倒数第一列
echo ${a[*]} #查看命令的全部列(下同)
echo ${a[@]}
在这里插入图片描述
在这里插入图片描述

Linux命令中的别名设定

alias sss=‘cat’ #临时设定

环境1中设定,可用

在这里插入图片描述

切到环境2,gg

在这里插入图片描述

vim ~/.bashrc

alias sss=‘cat’ #只针对用户生效
在这里插入图片描述
在这里插入图片描述

vim /etc/bashrc

alias sss=‘cat’ #针对系统所有用户生效

unalias sss #删除当前环境中的alias

在这里插入图片描述在这里插入图片描述

用户环境变量的更改

环境变量:

用户在操作系统实时用到的命令搜索路径

设定方式:

~/.bash_profile #用户级
export PATH=$PATH:/mnt

/etc/bash_profile #系统级

export PATH=$PATH:/mnt

此时不添加绝对路径就可执行脚本

在这里插入图片描述

脚本中的传参

非交互模式:$0 is test.sh            $0 是脚本本身$1 is westos             $1 是脚本后输入的第一串字符,2、3...以此类推$2 is linux             $3 is sss$# is 3                  #  指脚本后输入的所有字符串个数$* is westos linux sss   $* 指脚本后所输入的所有字符“westos linux sss”$@ is westos linux sss   $@ 指脚本后所输入的所有字符"westos" "linux" "sss"

在这里插入图片描述

∗ 与 *与 @的区别:

在这里插入图片描述

在这里插入图片描述

转载地址:http://noegn.baihongyu.com/

你可能感兴趣的文章
中国房价长期暴跌不可避免!
查看>>
10部令人泣不成声的经典电影(多图)
查看>>
一声叹息:高考满分少年为何自杀(附满分作文)?
查看>>
十一五规划解读:房地产健康是十一五的关键
查看>>
zabbix服务器监控(运维)
查看>>
ElasticSearch-SQL 5.5 安装及配置
查看>>
mysql表没有索引,并发的情况下导致CPU飙升
查看>>
Java8 Lambda表达式使用集合(笔记)
查看>>
微服务分布式事务
查看>>
python搭建简易web服务器,局域网
查看>>
mac下载iterm2,以及安装及配置rz sz(转载)
查看>>
12306并发解决思路(转)
查看>>
Mysql之group by GROUP_CONCAT的保证顺序
查看>>
selenium入门--环境搭建
查看>>
Katalon--Mac环境搭建,Mobile之Android调试
查看>>
java调用webservice的2种方式代码
查看>>
GitHack针对.git的漏洞以及修复
查看>>
Mac安装Tesseract,使用Tess4j实现OCR识别
查看>>
CAS了解以及Java中CAS应用
查看>>
Java魔法师Unsafe
查看>>