zoukankan      html  css  js  c++  java
  • 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. 你需要知道解释器的完整路径名称。

      

  • 相关阅读:
    rabbitmq使用
    redis
    IO模型与IO复用介绍
    事件驱动与异步IO使用
    协程
    进程
    线程、锁
    paramiko模块与 StringIO模块
    socketserver 编程
    随记
  • 原文地址:https://www.cnblogs.com/benefitworld/p/11559516.html
Copyright © 2011-2022 走看看