1、编写
建立一个myshell.sh文件,使用vim进行编辑。
elf@ubuntu:~/work/example/scrip_test$ vim myshell.sh |
在该文件中,添加:
#!/bin/bash
echo "my first shell !" |
其中#!/bin/bash用来指定使用的shell应用;echo "my first shell !"为脚本中编写的命令代码。
2、执行
在执行脚本时,脚本必须要有执行权限,首先给脚本赋予可执行权限:
elf@ubuntu:~/work/example/scrip_test$ sudo chmod a+x myshell.sh |
执行脚本的方式一般有以下4种:
1)在脚本当前目录进行执行
直接使用./myshell.sh:
2)在绝对路径下执行
使用pwd命令查看当前路径,并使用绝对路径执行myshell.sh:
3)shell应用程序执行
shell脚本也可直接使用shell应用程序进行执行。我们前面说过,我们指定的shell应用为/bin/bash,所以,我们使用bash程序直接执行myshell.sh,或者/bin/bash myshell.sh:
如果使用shell应用进行执行,那么在脚本编写时,可以不用在第一行指定shell应用程序;此外,使用shell应用进行脚本执行时,脚本文件可以不被赋予可执行权限。
4)使用source或小数点(.)执行
使用source或 . (.后边有空格)执行,是在当前shell环境下读取并执行shell脚本,可以不被赋予执行权限。
与前几种执行方式不同的是,使用该方式执行后,脚本中定义的变量不会释放。例如,我在脚本中增加一个变量var=235,变量的定义具体细节,可以参考下一节。
#!/bin/bash
echo "my first shell !" var=235 |
使用其他方式执行后,使用echo ${var}命令(关于变量的使用可以参考下一节)将变量值输出进行查看,如下图,可以看到没有输出var的值;然后再使用source. 或进行脚本执行,再次查看var变量的值,可以看到成功输出235,该方式执行脚本后的变量,没有释放,所以我们经常使用source来配置shell环境变量,后边讲开发板交叉编译工具设置时会使用到。