执行脚本结果重定向
sh hah.sh hello 1>>/home/qiso/job.log 2>&1
上面这句话的意思是
首先通过sh执行脚本hah.sh,其中执行这个脚本的时候,需要传入参数,参数是hello,
1表示的是标准输出,以上脚本执行完毕之后,首先执行2>
1这个意思是说将标准错误重定向到标准输出,0,1,2分别表示标准输入,标准输出和标准错误,进过执行2>
1
这
个
意
思
是
说
将
标
准
错
误
重
定
向
到
标
准
输
出
,
0
,
1
,
2
分
别
表
示
标
准
输
入
,
标
准
输
出
和
标
准
错
误
,
进
过
执
行
2
>
1之后,此时标准错误输出的结果重定向到了标准输出中,然后执行1>>/home/qiso/job.lob,结果就是把标准输出里面的值,写入到了那个文件中去了,上面整体的思路就是,首先执行脚本,将执行脚本过程中和标准错误重定向到标准输出中,然后将标准输出中的结果写入到指定文件中去
上面理解不正确,上面的意思是,我们正常的是把标准输出的结果存在了文件中,如果有标准错误的话,也会把标准错误的结果先重定向到标准输入中,然后在写入到文件中
变量
定义变量
变量名=”变量值”
shell 文件包含
在使用c语言的时候,我们经常使用文件包含的形式,去调用其他文件的函数
在shell中,我们也可以包含其他的文件,这样子可以调用其他的函数
在shell中,使用的方式就是
. hah.sh
或者是
source hah.sh
shell函数
shell函数可以加上return进行返回,也可以不用加上return进行返回,这个时候就是以最后一个命令的运行结果作为返回值
函数内部变量
shell脚本中定义的变量都是全局的,有的时候我们只需要函数内部的一些变量
这个时候使用的就是local,可以使用local在函数内部定义一个局部变量
function hello() {
local haha="hahahahahahha";
}