变量的定义
变量即在程序运行过程中它的值是允许改变的量,是用一串固定的字符来标示不固定的值的一种方法,是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储 Script 运行时可更改的程序信息,在 shell 中变量是不能永久保存在系统中的,必须在文件中声明。
在 shell 脚本中变量的种类
在 shell 中变量分为环境级变量,用户级变量,系统级变量,环境级变量只在当前 shell 中生效, shell 关闭变量丢失。用户级变量写在用户的骨文件中,只针对当前用户生效,系统级变量被写在系统的配置文件 /etc/profile 或者 /etc/profile.d/ 中,对于所有用户都生效。
shell 脚本中变量的定义方法
环境级变量
设定环境级变量直接在shell环境内声明即可。
设定的变量只在当前shell环境中生效。
用户级变量
设定用户级变量需要修改配置文件
vim ~/.bash_profile
声明变量A=1
重新加载文件后输出,用户级变量只对当前用户生效,切换用户后将不再生效。
系统级变量
vim /etc/profile
系统级变量在整个系统生效,即使切换用户或者重新打开一个shell环境,设置的变量仍然生效。
字符的转译及变量的声明
字符 | 作用 |
---|---|
\ | 转译单个字符 |
“” | 弱引用,批量转译 “” 中出现的字符 |
‘’ | 强引用,批量转译 ‘’ 中出现的字符 |
‘’ 与 “” | 两者的区别在于, “” 不能转译 “”,"`","!","$" |
${} | 变量声明 |
变量值传递
字符 | 作用 |
---|---|
$1 | 脚本后的第一串字符串 |
$2 | 脚本后的第二串字符串 |
$3 | 脚本后的第三串字符串 |
$# | 脚本后所跟字符串的个数 |
$* | 脚本后跟的所有字符串,模式为“ 1 2 3 ” |
$@ | 脚本后跟的所有字符串,模式为“ 1”“2”“3” |
用 read 实现变量传递
vim read.sh
执行脚本时输入所要输入的变量,可以用来实现变量的传递,使用-s参数是可以在输入时隐藏显示。
linux 系统中命令别名的设定
系统命令可以根据我们自己的需求修改别名,设定系统的别名也分为环境级,用户级,系统级,和前面的声明变量一样。
环境级
alias xie='vim'
设置vim的别名为xie,只在当前环境中生效
用户级
vim ~/.bashrc
修改配置文件,修改后命令的别名只对当前用户生效。
系统级
vim /etc/bashrc
修改配置文件,修改后命令的别名对整个系统生效。
脚本中的函数
脚本中的函数时把一个复杂的语句块定义成一个字符串的方法,定义完成之后,就可以使用这个字符窜去实现语句块的功能,当我们写程序时需要完成重复的操作时时常用到。
如我们前面所写的这个简单的语句就可以写成一个函数
这个函数每次执行的时候都把自己调用一次,以完成循环操作。