本文共 1287 字,大约阅读时间需要 4 分钟。
1.什么是变量
变量就是内存一片区域的地址
2.变量存在的意义
命令无法操作一直变化的目标
用一串固定的字符来表示不固定的目标可以解决此问题
Shell中定义变量的方法
环境级别
export a=1 在环境关闭后变量会失效在第一个shell中 export a=1,此时可以生效
在新环境(第二个shell中)查看时,变量定义失效
用户级别 仅对设置的用户生效
vim ~/.bash_profile export a=1vim ~/.bash_profile
source ~/.bash_profile 此时在两个shell中执行完source命令后,变量都可生效
但切换到其他用户时无法使用
系统级别 所有人可用
vim /etc/profile export a=1变量名称定义
可使用 “字符” “” “数字” ,不能用数字开头 建议: 变量名称短,全用大写字符 变量名称长,用""区分子类 例如: WESTOS Westos_dd Westos_ss转译
\ #转译单个字符 “” #弱引用,批量转译字符 不能转译 “” “`” “$” “!” ‘’ #强引用声明
a=1 echo $ab echo ${a}ba=(ls -l file
) #将a定义为命令
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/