- 概述
- 简单解释一下 shell 脚本卡头的 #!/bin/bash
- 水一篇, 少一篇
- 背景
- shell 脚本中的注释
- 通常是 以# 卡头的行
- 但是有时候执行 shell 的时候, 会有这种内容
#!/bin/bash
- shell 脚本中的注释
1. #!/bin/bash
- 这不是注释
- 他是有意义的
- shell 脚本执行
- 场景
- 一个 脚本
- 由 shell 执行
- 场景
-
!/bin/bash
- 作用
- 指定 shell
- 作用
2. 尝试
- 场景1: bash
- 脚本: test01.sh
#!/bin/bash echo 'hello'
- 执行
- 命令
./test01.sh
- 结果
- 正常显示
- 命令
- 脚本: test01.sh
- 场景2: ksh
- 概述
- ksh 是另外一种 shell
- 脚本: test02.sh
#!/bin/ksh echo 'hello'
- 执行1
- 命令
./test02.sh
- 结果
- 提示找不到 ksh
- 命令
- 执行2
- 命令
> bash test02.sh
- 结果
- 执行成功
- 命令
- 执行3
- 命令
> source test02.sh
- 结果
- 执行成功
- 命令
- 概述
3. 结论
- centos 的默认 shell, 是 bash
- 这个不是上面操作得出的结论, 但是还是请各位记住
- 如果在 脚本 第一行用 #! 指定了执行 shell
- 则 ./ 方式执行, 会使用 指定的 shell
- bash 则会使用 bash 执行
- 在 命令行 指定的 shell 优先级更高
- source 则是使用 当前shell 来执行
4. 建议
- 脚本最好带上这个配置
- shell 之间的不同, 并不仅仅是 名字的差异
- 有一个标注, 可以更清楚的描述环境
- 为自己和后来人少埋一个坑
- shell 之间的不同, 并不仅仅是 名字的差异
ps
- ref
- 学习 bash
- 其他
- 其实 py 脚本, 也有类似的东西
-
!/usr/bin/python
-
- 当然这个要是有兴趣, 可以下来研究
- 其实 py 脚本, 也有类似的东西
原文地址:https://www.cnblogs.com/xy14/p/12041252.html
时间: 2024-10-25 10:20:29