转载自:ubuntu --- 运行.sh文件、编写.sh文件
https://www.cnblogs.com/carle-09/p/12582209.html
1. 关于shell
Shell是什么?1分钟理解Shell的概念! http://c.biancheng.net/view/706.html
Shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质。
#! /bin/sh #! /bin/bash #! /bin/csh #! /usr/bin/env python
脚本文件的第一句就要用#! 告诉系统,用哪一种shell运行程序。
2. sh bash ./ source 分别代表什么
例如创建一个test.sh
#! /bin/sh # #! bin/bash --posix id="hello world" # 创建一个值为hello world的字符变量 num=99 # 创建一个值为99的整型变量 echo "derek: $id ; num is : ${num} nd" #打印出来,用不用大括号{}都可以,用大括号方便解释注:sh 遵循POSIX规范:“当某行代码出错时,不继续往下解释”。bash 就算出错,也会继续向下执行。
用sh test.sh和bash test.sh都可以执行(这里皮一下很开心,后缀是啥没关系,.sh .aaa .derek啥都可以)
如果用 ./test.derek 运行的话
需要赋予权限: chmod +x test.derek
用source运行的话:
source 会把变量上传到当前终端,因此:
sh 与 bash执行完以后就结束了该shell
总的来说,sh ,bash ,./ source区别是:
sh是bash的不同模式,sh发生错误就停止了,bash继续往下运行;
./与bash一样,只是需要赋予权限chmod +x 文件名;
source与三个不同,运行完不销毁变量内存
3. chmod用法:
https://www.runoob.com/linux/linux-comm-chmod.html
标签:bin,Shell,source,sh,ubuntu,test,bash From: https://www.cnblogs.com/derek-dhb/p/17520685.html