linux的shell编程中#!/bin/sh和$bash是什么意思

如题所述

#! /bin/sh 是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径。$bash $表示系统提示符,$ 表示此用户为普通用户,超级用户的提示符是#。bash是shell的一种,是linux下最常用的一种shell。$bash的意思是执行一个子shell,此子shell为bash。要注意,在每个脚本的开头都使用"#!",这意味着告诉你的系统这个文件的执行需要指定一个解 释器.#!实际上是一个2字节[1]的魔法数字,这是指定一个文件类型的特殊标记, 换句话说, 在 这种情况下,指的就是一个可执行的脚本(键入man magic来获得关于这个迷人话题的更多详细 信息).在#!之后接着是一个路径名.这个路径名指定了一个解释脚本中命令的程序,这个程序可 以是shell,程序语言或者是任意一个通用程序.这个指定的程序从头开始解释并且执行脚本中 的命令(从#!行下边的一行开始),忽略注释.[2] 如: 1 #!/bin/sh 2 #!/bin/bash 3 #!/usr/bin/perl 4 #!/usr/bin/tcl 5 #!/bin/sed -f 6 #!/usr/awk -f注意: #! 后边给出的路径名必须是正确的,否则将会出现一个错误消息,通常是 "Command not found",这将是你运行这个脚本时所得到的唯一结果.如果在脚本的里边还有一个#!行,那么bash将把它认为是一个一般的注释行.
温馨提示:内容为网友见解,仅供参考
无其他回答

linux的shell编程中#!\/bin\/sh和$bash是什么意思
\/bin\/sh 是指此脚本使用\/bin\/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径。$bash $表示系统提示符,$ 表示此用户为普通用户,超级用户的提示符是#。bash是shell的一种,是linux下最常用的一种shell。$bash的意思是执行一个子shell,此子shell为bash。要注意,在每个...

shell脚本第一行为“#!\/bin\/sh”,是什么意思?
在shell脚本的开头,第一行通常写有"#!\/bin\/sh",这是一项重要的指令。这一行告诉操作系统,此脚本应该使用\/bin\/sh这个可执行文件作为解释器来执行。与之类似,如果你的脚本使用bash或ksh,那么第一行应相应地改为#!\/bin\/bash或#!\/bin\/ksh。如果你使用自定义的脚本语言,比如xshell,需要将其解释...

如何运行shell命令?第一行为什么是# !\/bin\/sh?
因为shell程序是解释执行的,所以不需要编译装配成目标程序,按照shell编程的惯例,以bash为例,程序的第一行一般为“# !\/bin\/bash”,其中#表示该行是注释,叹号“!”告诉shell运行叹号之后的命令并用文件的其余部分作为输入,也就是运行\/bin\/bash并让\/bin\/bash去执行shell程序的内容。执行shell程序的...

为什么 shell 脚本的开头要写 #!\/bin\/bash
紧跟其后的 `\/bin\/bash` 是 Bash Shell 的二进制执行文件路径,Bash 是 Unix 和 Linux 系统中最常用的 Shell 程序之一。shebang 的核心作用是明确指定脚本的解释器。当一个脚本以 #!\/bin\/bash 开头,系统知道应使用 `\/bin\/bash` 来解析和执行这个脚本,确保程序按照预期运行。她bang 的写法可以根...

#!\/bin\/sh 是什么意思?
\/bin\/sh 是指此脚本使用\/bin\/sh来解释执行,#!是特殊的表示符,其后面跟的是解释此脚本的shell的路径。如果脚本中没有声明,则脚本将在用户默认的shell中执行。用户默认的shell环境是在\/etc\/passwd中定义:比如passwd文件第一行中 root:x:0:0:root:\/root:\/bin\/bash,最后的\/bin\/bash说明root用户...

linux \/b么意思
Linux中的"\/bin\/sh"是一个特殊的符号,位于脚本文件的开头,表示此脚本使用\/bin\/sh路径下的shell解释器来执行。#!\/bin\/sh是一个"shebang"或称为"感叹号"行,它告诉系统这是一个可执行的脚本,需要特定的解释器来运行。$bash$在脚本中代表用户提示符,普通用户的提示符以$开始,而超级用户则以#...

linux shell编程脚本第一行为什么一定要用"#!\/bin\/sh",不写行不行?这...
!\/bin\/sh为指定你运行脚本的shell类型,是bash,ksh还是其它,一般系统有固定的shell,不定这行也能执行,只是为了规范写上的。还有比如你执行的是perl程序,就可以写#!\/bin\/perl.

linux系统\/bin\/bash和\/bin\/sh的区别
在Linux系统中,\/bin\/bash和\/bin\/sh是两个不同的shell解释器。\/bin\/sh是基础版本,它遵循POSIX标准,当脚本中出现错误时,会立即停止脚本执行。而\/bin\/bash则是\/bin\/sh的增强版,它默认不开启POSIX模式,即使脚本出错,仍会继续执行后续代码。使用#!\/bin\/bash --posix与#!\/bin\/sh效果相同,意味着...

为什么shell脚本第一行要#!\/bin\/sh?这个是什麽意思呢?
或者, 你自己定义一种脚本语言, 再自己写个解释器去执行它, 比如说叫 xshell, 放在 \/usr\/local\/bin 下, 你的脚本第一行就应该是 !\/usr\/local\/bin\/xshell 如果没有这样定义的第一行, 不同 unix 类操作系统会用默认 shell 来解释脚本, 如 unix 往往是 sh, linux 往往是用 bash, ......

linux用户信息里面的: shell \/bin\/bash 什么意思阿?
\/bin 代表的是binary, 二进制文件,主要就是一些系统命令;还有一个常用的目录是\/usr\/bin,几乎所有的应用程序的可执行文件都装这里的。\/bin\/bash说明你的shell类型为bash,bash shell是最常用的一种shell, 是大多数Linux发行版默认的shell。 此外还有C shell等其它shell。

相似回答