免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6272 | 回复: 16
打印 上一主题 下一主题

脚本中#!/bin/sh能否不写? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-03-24 13:24 |只看该作者 |倒序浏览
本人初学linux不久,发现在编写脚本的时候开头都有一行#!/bin/sh
我记得#是表示注释的,那么这一行应该是可以不写的吧?为什么又说“这条语句告诉操作系统用来解释脚本的程序位置。”呢?
还有,“!”表示的是什么意思,比如[ ! -w "$name ]中的“!”是什么意思?
希望各位大哥大姐不吝赐教,感激不尽

论坛徽章:
0
2 [报告]
发表于 2005-03-24 13:43 |只看该作者

脚本中#!/bin/sh能否不写?

!表示非.

#!/bin/sh
表示本脚本由/bin/路径的sh程序来解释....
跟命令行下~
#/bin/sh Scriptname效果相同...

论坛徽章:
0
3 [报告]
发表于 2005-03-24 13:53 |只看该作者

脚本中#!/bin/sh能否不写?

是的,如果活学活用,你还可以这样执行一个php的文件

  1. #! /usr/local/php/bin/php
  2. <?phpinfo();?>;
复制代码


依此类推,perl的也是一样

论坛徽章:
0
4 [报告]
发表于 2005-03-24 13:53 |只看该作者

脚本中#!/bin/sh能否不写?

但是#不是用来表示注释的吗?难道这里的#不是这个意思?

论坛徽章:
0
5 [报告]
发表于 2005-03-24 13:56 |只看该作者

脚本中#!/bin/sh能否不写?

[quote]原帖由 "xyyou"]但是#不是用来表示注释的吗?难道这里的#不是这个意思?[/quote 发表:

不同的地方,#有不同的意思
就好比c++里面用“//”来注解
vb里面用“'”注解一样
dns里面用“;”来注解

shell的开头那个#不是用来注解的

论坛徽章:
0
6 [报告]
发表于 2005-03-24 13:56 |只看该作者

脚本中#!/bin/sh能否不写?

如果你要用给该脚本执行权限的话...第一行必须声明该脚本由什么来解释...
#的确表示注释.第一行的你只需要知道是声明解释程序的路径就好了 :)

假如第一行是别的东西.而你又给了x权限,执行的时候就会出错...

论坛徽章:
0
7 [报告]
发表于 2005-03-24 14:02 |只看该作者

脚本中#!/bin/sh能否不写?

哦~~太感谢了

论坛徽章:
0
8 [报告]
发表于 2005-03-24 14:09 |只看该作者

脚本中#!/bin/sh能否不写?

说了半天忘记回答你的问题..
可以不写.执行时手工执行...
/bin/sh xxxx.sh
效果是一样的 ...
但是跟
source xxxx.sh和
. xxxx.sh
还有区别.
一起进步吧...

论坛徽章:
6
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-03 17:33:522015元宵节徽章
日期:2015-03-06 15:50:39IT运维版块每日发帖之星
日期:2016-01-11 06:20:00IT运维版块每日发帖之星
日期:2016-03-19 06:20:0019周年集字徽章-19
日期:2019-09-06 18:56:11
9 [报告]
发表于 2005-03-24 14:13 |只看该作者

脚本中#!/bin/sh能否不写?

如果不写也成,那就用你登陆的那个shell来解释执行.

论坛徽章:
0
10 [报告]
发表于 2005-03-24 14:17 |只看该作者

脚本中#!/bin/sh能否不写?

可以不写,但应该有良好的编程习惯
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP