第一行不是#!/bin/bash也可以运行脚本吗?

sh/bash/dash/ksh/zsh等Shell脚本
回复
Dic4000
帖子: 104
注册时间: 2008-09-10 21:06

第一行不是#!/bin/bash也可以运行脚本吗?

#1

帖子 Dic4000 » 2009-01-14 22:35

今天才发现脚本中第一行没有 #!/bin/bash,在终端下也可以执行。为什么啊?
我看到好多资料上说必须有它才能执行脚本。我的当前目录是家目录下的一个文件夹内,脚本的权限也已经改为了可执行。
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: 第一行不是#!/bin/bash也可以运行脚本吗?

#2

帖子 xiooli » 2009-01-14 22:56

通过sh/bash/*sh xxx.sh运行的话是可以的。
Dic4000
帖子: 104
注册时间: 2008-09-10 21:06

Re: 第一行不是#!/bin/bash也可以运行脚本吗?

#3

帖子 Dic4000 » 2009-01-14 23:33

我没有用
xiooli 写了:通过sh/bash/*sh xxx.sh运行的话是可以的。
用的是

代码: 全选

./xxx.sh 

代码: 全选

bash xxx.sh
可以执行脚本
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 第一行不是#!/bin/bash也可以运行脚本吗?

#4

帖子 aerofox » 2009-01-15 6:03

没有是可以的,相当于是 #!/bin/sh(或者是登录 shell?我记不清楚了)。
如果你要用 csh 或者别的什么 shell,就必须明确指定了,否则照样执行,但会报语法错误。
不管用什么 shell,总是写上这一行,这是一个好习惯。
回复