1.2 位于Shell脚本第一行的#!

学习《shell脚本学习指南》一书,记录总结,便于自己回忆,希望对你有帮助! 2.4 自给自足的脚本:位于第一行的 #!

1.Shell脚本执行过程

  当Shell执行一个程序时,会要求UNIX内核启动一个新的进程,以便在该进程里执行所指定的程序。

内核知道如何为编译型程序做这件事。但Shell脚本并非编译型程序;当Shell要求内核执行它时,内核将无法做这件事。

内核会告诉Shell这个我解决不了,接着Shell就会启动一个新的 /bin/sh(标准Shell)副本来执行该程序。

2.为什么Shell脚本要加 #!

  现行的UNIX系统都会拥有好几个Shell,通过哪一种Shell去运行脚本,我们需要告知UNIX内核。这样做有助于执行机制通用化,

让用户得以直接引用任何的程序语言解释器,而并非一个命令Shell。

3.如何设置 #!

方法就是,通过在脚本文件中第一行设置:#! 符号

[root@localhost test]# vim nusers
#! /bin/sh -  当没有Shell选项时,建议写为 "-"
who | wc -l

4.避免几个初级陷阱

  1. #!这一行的长度有限制,系统不同限制从63到1024个字符不等
  2. 不在选项之后放置任何空白,空白会更这选项传递给引用的程序
  3. 你需要知道解释器的完整路径名称。

  

 

转载于:https://www.cnblogs.com/benefitworld/p/11559516.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值