本帖最后由 jf_13411809 于 2024-8-28 10:25 编辑
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环境变量,后边讲开发板交叉编译工具设置时会使用到。
|