sh文件用"#!"开头表示用什么来执行程序,如"#!/bin/bash" 表示用bin/bash来执行sh
sh文件,默认是文本文件,是不可以执行的,可以通过chmod允许sh文件可以被执行,chmod命令说明如下:
chmod----改变一个或多个文件的存取模式(mode)
chmod [options] mode files
如chmod +x my_first.sh,及时给my_first.sh文件增加可以被执行的权限。
变量的引用
shell脚本的变量引用方式有两种,一种是直接 加"$" 如,$var 就表示了对变量var的引用,但是这种方式会有两种问题,一是会导致一些特殊的符号(除了$、'\)被解析失败。二是引号引用,可以防止变量的值又多个字符单词组成的字符串被分离。
使用的原则是:如果变量中的值包含空格,而且需要保留变量中的空格,就要用需要用双引号把变量引用括起来。
export命令
export 命令可以把指定的变量和函数输出到执行环境,供其他shell执行环境使用。具体语法如下:
export [-fnp] [变量或函数的名称]=[变量设置的值]
-f选项表示输出的一个函数 。
-n选项表示把export属性从指定的变量和函数上移除。
-p打印出当前shell输出的所有变量,和单独执行export命令相同。
删除变量和函数命令
命令unset把变量和函数从当前shell和后续的shell执行环境中删除,语法如下:
unset [-fv] [变量和函数的名称]
-f变量表示删除的是一个函数
-v表示删除的一个变量
检查变量是否存在
${varName? Error:this variable is not defined} 如果变量varName 没有定义则返回一个错误,如果变量值为空,这返回空。
${varName? Error:this variable is not defined}如果变量没有定义和变量值为空都会返回一个错误。