Shell脚本第一行

Shell脚本第一行

2023年8月2日发(作者:)

Shell脚本第⼀⾏何为Shell脚本:(1)为实现某个任务,将许多命令组合后,写⼊⼀个可执⾏的⽂本⽂件的⽅法,称为Shell脚本编程。(2)Shell 脚本其实就是⽂本⽂件,建⽴新的脚本⽂件时,可以使⽤Vi、Emacs等⽂本编辑器。(3)Shell脚本通常不需要特殊处理,对脚本⽂件加上可执⾏权限,就可以像应⽤程序⼀样执⾏;(4)Shell脚本分许多类型,最常见的是应⽤于Bash和Tcsh的脚本。通常Bash脚本⽂件名以sh结尾,Tcsh脚本⽂件以csh结尾 通俗地讲,shell脚本就是写有⼀堆系统命令+简单的shell语法(变量、if判断、循环语句等)的⼀个⽂件,执⾏这⽂件能把所有命令⼀次性都执⾏了并实现⼀定的⽬的。

Shell第⼀⾏:

它不是注释,"#!/bin/sh"是对shell的声明,说明你所⽤的是那种类型的shell及其路径所在;告诉操作系统, 此脚本的解释器为 /bin/sh 这个可执⾏⽂件类似地, 如果你的脚本⽤ bash, ksh, 解释, 第⼀⾏就应该是#!/bin/bash#!/bin/ksh之类的或者, 你⾃⼰定义⼀种脚本语⾔, 再⾃⼰写个解释器去执⾏它, ⽐如说叫 xshell, 放在 /usr/local/bin 下, 你的脚本第⼀⾏就应该是#!/usr/local/bin/xshell如果没有这样定义的第⼀⾏, 不同 unix 类操作系统会⽤默认 shell 来解释脚本, 如 unix 往往是 sh, linux 往往是⽤ bash, ....当Shell执⾏⼀个程序时,会要求内核启动⼀个新的进程(process),以便在该进程⾥执⾏所指定的程序。内核知道如何为编译型程序做这件事。⽐如⽂件可以执⾏,但是不是编译程序。当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)。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1690918077a463209.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信