Shell中的变量(定义变量、变量的转译与声明、命令的别名设定、环境变量更改、脚本中的传参)

目录

变量的定义

Shell中定义变量的方法

变量的转译与声明

Linux命令中的别名设定

用户环境变量的更改

脚本中的传参


变量的定义

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"

 

$*与$@的区别:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值