4.4--shell脚本中的变量

#shell脚本中变量定义的方法

环境级别

命令行中直接声明export a=1,则在环境关闭后变量失效,即重新打开shell终端则失效。

用户级别

vim ~/.bash_profile编辑当前用户家目录配置文件

export a=1

source ~/.bash_profile

则只对当前用户生效

系统级别

vim /etc/profile.d/westos.sh

export a=1

source /etc/profile.d/westos.sh

此时对系统中所有用户生效

#变量名称

只能包含数字、字母、下划线_

且不能以数字开头

变量名称短一般全用大写字符,如WESTOS=1

变量名称长一般用_分开,如Westos_Linux=1,或westoS_Linux=1

#变量的转译

\只能转译单个字符,如echo \$2

''单引号为强引用,可以批量转译全部字符,如echo '$$'输出两个$(在linux中$$表示当前程序id,不转译会输出id数字)

""双引号为弱引用,也可以批量转译字符,但不能转译\ $ ` !等字符。

#变量的声明

如声明a=1,echo $ab不会输出1b,因为把ab整体当成了变量,需要echo ${a}b,输出1b

#变量的数组

a=(1 2 3 4 5)echo $a输出1,默认显示数组第一个值

echo ${a[0]}数组中第一个元素,a[1]就为第二个以此类推,a[*]或a[@]则为数组中所有元素,区别在于*为一串字符"1 2 3 4 5",@为五串字符"1" "2"  "3"  "4"  "5"。

echo ${a[-1]}数组中倒数第一个元素,a[1]就为倒数第二个以此类推,

echo ${a[@]:1:3}输出数组中下标为1和往后一共三个数,即输出2 3 4

echo ${#a[@]} 输出数组中元素的个数

a[5]=6往数组中添加元素,添加第六个数为6,unset a[5]=6删除元素,unset a删除数组

#linux中命令的别名设置

alias xie = 'vim' 临时设定

vim ~/.bashrc  alias xie = 'vim'  source ~/.bashrc 只针对当前用户生效

vim /etc/bashrc alias xie = 'vim' source /etc/bashrc 针对系统所有用户生效

unalias xie 删除别名

#用户环境变量更改

echo $PATH查看

vim ~/.bash_profile编辑当前用户配置文件,只针对当前用户生效

如PATH=$PATH:$HOME/bin:/mnt , source ~/.bash_profile

或者编辑/etc/bash.profile.d/PATH.sh为系统配置文件,针对所有用户生效

export PATH=$PATH:/mnt , source/etc/bash.profile.d/PATH.sh

此时在mnt目录中中创建的脚本文件在进入目录后并加上x权限后可以直接test.sh运行,不用/mnt/test.sh或./test.sh运行。

#脚本的传参

非交互式模式

$0为脚本身,即test.sh,

 

 交互式

 

 

 

 -s隐藏输入内容

练习:

编写ctrl_user.sh脚本,ctrl_user.sh del,则输入用户名,用户存在则删除,不存在则提示。

如果跟add添加,输入用户名,用户存在则提示,不存在则添加,输入密码,提示创建成功

 #脚本函数

 

 练习:

编写一个脚本,运行后让输入单词,如果输入westos则输出linux,继续弹出让输入单词,以此类推,输入linux则输出westos,输入其他的则输出error,除非输入exit则输出bye并退出脚本。

#将命令的执行结果赋值给变量

 

 练习:

脚本文件,运行后显示当前主机名,ip地址,当前用户

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值