打开终端,进入/bin/
ls 一下
会见到 bash sh 呢两个文件。
其实距地系两个唔同既shell 解析器。
如果在脚本a.sh 开头写入
#!/bin/sh
那么执行./a.sh 时候 就相当于 sh a.sh
同理 开头写入
#!/bin/bash
执行./a.sh 时候 就相当于 bash a.sh
如果写入
#!/bin/sh
而执行时 用 bash a.sh 的话, 会强制用bash 来执行
距地两个有区别吗?
有,
如果有一条语句
echo ${PATH:0:1}
用bash执行会返回 $PATH变量的第1个字符
而用sh执行系回报错咖!
ls 一下
会见到 bash sh 呢两个文件。
其实距地系两个唔同既shell 解析器。
如果在脚本a.sh 开头写入
#!/bin/sh
那么执行./a.sh 时候 就相当于 sh a.sh
同理 开头写入
#!/bin/bash
执行./a.sh 时候 就相当于 bash a.sh
如果写入
#!/bin/sh
而执行时 用 bash a.sh 的话, 会强制用bash 来执行
距地两个有区别吗?
有,
如果有一条语句
echo ${PATH:0:1}
用bash执行会返回 $PATH变量的第1个字符
而用sh执行系回报错咖!
原文地址:https://www.cnblogs.com/nvd11/archive/2013/04/02/2996889.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。