`

面试被问了: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将把它认为是一个一般的注释行.
分享到:
评论

相关推荐

    shell中第一行#!_bin_bash的作用

    但如果是通过其他Shell命令(如`bash script.sh`)来执行,则Shebang行不会被使用,而是按照指定的Shell来执行。 #### 四、实践应用 1. **脚本编写建议**:为了提高脚本的可移植性和兼容性,推荐始终在脚本的第一...

    #!/usr/bin/expect

    /usr/bin/expect 是一个Unix/Linux环境下的脚本开头,用于指定解释器执行该脚本。这个特定的命令表示该脚本将由 Expect 程序来执行。Expect 是一个强大的自动化工具,常用于交互式应用程序的自动化,尤其是与远程...

    虚拟机root:x:0:0:root:/root:/bin/bash改成 root:x:0:0:root:/root:/bin/csh

    Bash是Unix/Linux中最常用的Shell,它是Bourne Shell的增强版,提供了丰富的命令行交互功能和脚本编写能力。而Csh(也称为Tcsh,一种兼容C语言风格的Shell)则更注重历史命令的检索和交互性,它的命令补全和命令历史...

    02-SHELL编程之流程控制和循环语句

    /bin/bash # Name:ping.sh # Path:/shell02/ # Usage:/shell02/ping.sh # ... #获取远程主机的IP地址(定义变量让用户自己输入) read -p "请输入你要ping的远程主机IP:" IP #使用ping命令来判断是否和远程主机互通...

    shell编程简单例子代码

    在Linux和Unix系统中,常见的Shell有Bash(Bourne-Again SHell)、Sh、Csh、Ksh等。本文主要关注的是Bash Shell,因为它是最常用且功能强大的Shell之一。 在编写Shell脚本时,我们通常会以`#!/bin/bash`作为脚本的...

    linux shell脚本编程

    ### Linux Shell脚本编程知识点详解 #### 一、引言:为什么学习Shell编程? Shell脚本是Linux系统中一种强大的工具,它可以帮助用户自动化执行一系列命令。通过编写Shell脚本,用户可以更高效地管理服务器、处理...

    linux下实现shell

    在Linux中,你可以通过编写一个简单的Shell脚本来实现这个功能。例如,创建一个名为`my_ls.sh`的文件,并添加以下内容: ```bash #!/bin/bash ls $@ ``` 这里的`#!/bin/bash`是Shebang,告诉系统使用Bash shell来...

    如何在Linux系统环境中模拟DOS命令

    以下是一些关键点,帮助你理解如何在Linux中创建脚本来模拟DOS命令。 首先,Linux的shell脚本基础在于编写一个文本文件,其中包含你要执行的命令。脚本以`#!/bin/sh`或`#!/bin/bash`开头,指定解释器来执行脚本中的...

    linux操作题及答案shell练习题.pdf

    本文档涵盖了 Linux 操作系统中的一些基本概念和技术,包括文件权限、用户和组管理、文件操作、目录管理、cron 任务计划和 at 命令等。通过对实践题目和答案的解析,我们将探索 Linux 操作系统的基本原理和应用。 1...

    ubuntu-编译时出现-bin-sh-1-pushd- not found.pdf

    在Ubuntu环境中遇到“/bin/sh: 1: pushd: not found”错误通常是由于Makefile或脚本中使用了bash特有的命令,而系统默认Shell为dash导致的。解决此类问题的关键在于理解不同Shell之间的差异,并根据具体情况选择合适...

    这是linux之shell练习的题目

    Shell 脚本是 Linux 和 Unix 系统中非常重要的组成部分,它允许用户通过编写一系列命令来自动化复杂的任务。执行 Shell 脚本有两种主要方式: 1. **使用 shell 程序执行脚本** - **选择合适的 shell 程序**:不同...

    Shell脚本bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录

    在上述错误中,`^M`字符就是`\r`,它在Linux中被识别为无效的字符,导致解释器路径被破坏,因此系统无法找到指定的`/bin/bash`。 解决这个问题的方法是消除Shebang行末尾的`\r`字符。这里有一个使用`sed`命令的解决...

    用Linux Command Shell模拟DOS命令

    在Linux中,shell脚本是一种强大的自动化工具,能够执行各种任务,从简单的命令到复杂的程序逻辑。以下是对如何使用Linux shell脚本来模拟DOS命令的详细说明。 首先,了解shell脚本的基础至关重要。一个简单的shell...

    windows下写的shell脚本在linux执行出错的解决办法

    在Windows下写了一个shell脚本,上传到Linux下执行时报错: 代码如下:[root@localhost test]# ./test.sh -bash: ./test.sh: /bin/sh^M: bad interpreter: No such file or directory test.sh源码: 代码如下:#!/bin...

    人性化解析shell脚本,保证快速入门sh,bash,shell入门.pdf

    Shell脚本是Linux操作系统中的一种编程语言,用于自动化系统管理和任务执行。本文档旨在快速入门Shell脚本,帮助读者快速掌握Shell脚本的基本知识和使用方法。 基本条件 要学习Shell脚本,需要具备以下基本条件:...

    linux 中shell函数

    在Linux系统中,Shell脚本是用户与操作系统交互的重要方式,而Shell函数是编写复杂脚本时不可或缺的构造块。本文将深入探讨如何在Shell中定义、调用和使用函数,以及函数参数的传递和跨文件调用。 一、无参函数的...

    Linux Shell编程(基础教程

    ### Linux Shell编程基础教程 #### 1. Linux 脚本编写基础 ##### 1.1 语法基本介绍 在 Linux 系统中,Shell 脚本是一种强大的工具,可以自动化许多日常任务。理解其基本语法对于有效地使用 Shell 编程至关重要。 ...

    SHELL脚本练习 写一个脚本,利用循环计算10的阶乘

    SHELL脚本练习 SHELL脚本是一种强大的命令行脚本语言...这六个SHELL脚本练习涵盖了循环、条件语句、函数、参数处理、文件操作等多方面的SHELL编程技术,可以帮助读者更好地理解和掌握SHELL脚本编程的基本概念和方法。

Global site tag (gtag.js) - Google Analytics