Liunx----Shell脚本简单介绍Shell运⾏环境和Shell变量
Shell 脚本(shell script),是⼀种为 shell 编写的脚本程序。
Shell 编程跟 java、php 编程⼀样,只要有⼀个能编写代码的⽂本编辑器和⼀个能解释执⾏的脚本解释器就可以了。
Linux 的 Shell 种类众多,常见的有:
Bourne Shell(/usr/bin/sh或/bin/sh)
Bourne Again Shell(/bin/bash)
C Shell(/usr/bin/csh)
linuxshell脚本怎么运行K Shell(/usr/bin/ksh)
默认为 #!/bin/bash。
#!/bin/bash
echo"Hello World !"
定义变量时,变量名不加美元符号($,PHP语⾔中变量需要),如:
your_name="runber"
注意,变量名和等号之间不能有空格:
命名只能使⽤英⽂字母,数字和下划线,⾸个字符不能以数字开头。
中间不能有空格,可以使⽤下划线(_)。
不能使⽤标点符号
不能使⽤bash中已有的命令符
使⽤⼀个定义过的变量,只要在变量名前⾯加美元符号即可
your_name="qinjx"
echo $your_name
echo ${your_name}
加花括号是为了帮助解释器识别变量的边界:
yo ="absy"
echo ${yo}sjaj
使⽤ readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。
#!/bin/bash
myUrl="le"
readonly myUrl
myUrl="www.baidu"
运⾏脚本,结果如下:
/bin/sh: NAME: This variable is read only.
使⽤ unset 命令可以删除变量。但不能删除只读变量。
运⾏Shell脚本时候,会有三种变量类型
1) 局部变量局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
2) 环境变量所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运⾏。必要的时候shell脚本
也可以定义环境变量。
3) shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有⼀部分是环境变量,有⼀部分是局部变量,这些变量保证了shell
的正常运⾏
字符串是shell编程中最常⽤最有⽤的数据类型:
单引号:
单引号字符串的限制:
单引号⾥的任何字符都会原样输出,单引号字符串中的变量是⽆效的;
单引号字串中不能出现单独⼀个的单引号(对单引号使⽤转义符后也不⾏),但可成对出现,作为字符串拼接使⽤。
str='this is a string'
双引号的优点:
双引号⾥可以有变量
双引号⾥可以出现转义字符
your_name='runoob'
str="Hello, I know you are \"$your_name\"! \n"
echo $str
Hello, I know you are "runoob"!
拼接字符串
your_name="runoob"
# 使⽤双引号拼接
greeting="hello, "$your_name" !"
greeting_1="hello, ${your_name} !"
echo $greeting $greeting_1
# 使⽤单引号拼接
greeting_2='hello, '$your_name' !'
greeting_3='hello, ${your_name} !'
echo $greeting_2 $greeting_3
输出结果
hello, runoob ! hello, runoob !
hello, runoob ! hello, ${your_name} !
获取字符串长度
string="abcd"
echo ${#string} #输出4
提取⼦字符串
以下实例从字符串第 2 个字符开始截取 4 个字符:
string="runoob is a great site"
echo ${string:1:4} # 输出 unoo
查⼦字符串
查字符 i 或 o 的位置(哪个字母先出现就计算哪个):
string="runoob is a great site"
echo `expr index "$string" io` # 输出4
注意:以上脚本中 ` 是反引号,⽽不是单引号 ',反引号是可以输出脚本命令。echo `ifcongfig`
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论