sh第一行的#!解释(来源于书《shell脚本学习指南》)

阅读: 评论:0

sh第一行的#!解释(来源于书《shell脚本学习指南》)

sh第一行的#!解释(来源于书《shell脚本学习指南》)

[size=large]当Shell执行一个程序时,会要求内核启动一个新的进程(process),以便在该进程里执行所指定的程序。内核知道如何为编译型程序做这件事。比如sh.sh文件可以执行,但是不是编译程序。当Shell要求内核执行它时,内核无法完成这一要求,并回应“不是可执行的格式文件”提示信息。Shell收到此错误信息的时候,会判断不是编译程序,那么一定是Shell脚本,因此会执行一个新的Shell副本来执行该程序,这也就是Shell执行的过程。

在unix中为/bin/sh 在linux一般为/bin/bash 这个你懂的!!!

然而,一般的unix/linux系统一般都不止一个shell 比如ksh、csh、bash(学习中).....如果在系统中提供一种方式来解释Shell执行,那不是很棒?因此,在一般的Shell脚本中会添加第一行为#!/bin/*sh的字符 比如:csh的脚本 #!/bin/csh -f 意思就是这是一个csh

在书中讲到了#!这一行的长度是有限制的 从63到1024个字符都有,进来不要超过 64个。

脚本是否具有可移植性,取决于是否具有完整的路径名称。

另外,在选项之后尽量不要放置任何的空白,因为空白也会跟着选项一起传递给引用程序。

Shell编写者应该清楚解释器的完整路径名称。因为不同的系统会放在不同的位置。(例如/bin/awk和/usr/bin/awk)。
[/size]

本文发布于:2024-02-02 11:46:32,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170684559143584.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:学习指南   脚本   sh   shell
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23