linux系统/bin/bash和/bin/sh的区别
发布网友
发布时间:2024-10-02 10:39
我来回答
共1个回答
热心网友
时间:2024-10-15 00:47
在Linux系统中,/bin/bash和/bin/sh是两个不同的shell解释器。/bin/sh是基础版本,它遵循POSIX标准,当脚本中出现错误时,会立即停止脚本执行。而/bin/bash则是/bin/sh的增强版,它默认不开启POSIX模式,即使脚本出错,仍会继续执行后续代码。使用#!/bin/bash --posix与#!/bin/sh效果相同,意味着开启便携模式,遇到错误时终止运行。
需要注意的是,日常使用中的/bin/sh可能实际上是/bin/bash的软链接,这意味着即使你使用/bin/sh,实际执行的可能是带有POSIX模式的bash。在编写脚本时,如果不清楚使用的运行方式,如误用sh命令而非bash,可能会导致脚本在遇到错误时停止运行。
此外,POSIX是可移植操作系统接口,确保应用程序跨平台兼容。Linux作为开放源代码系统,用户拥有高度自主性,而传统Unix是专有软件,开发过程较为封闭。Linux能够在多种硬件上运行,对硬件要求较低,安装相对简单,而Unix系统更倾向于与特定硬件绑定。
总结来说,/bin/bash与/bin/sh在错误处理和兼容性上有所不同,选择使用哪个取决于你的具体需求和预期的脚本行为。
linux系统/bin/bash和/bin/sh的区别
在Linux系统中,/bin/bash和/bin/sh是两个不同的shell解释器。/bin/sh是基础版本,它遵循POSIX标准,当脚本中出现错误时,会立即停止脚本执行。而/bin/bash则是/bin/sh的增强版,它默认不开启POSIX模式,即使脚本出错,仍会继续执行后续代码。使用#!/bin/bash --posix与#!/bin/sh效果相同,意味着...
linux的shell编程中#!/bin/sh和bash是什么意思?
/bin/sh 是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径。$bash $表示系统提示符,$表示此用户为普通用户,超级用户的提示符是#,bash是shell的一种,是linux下最常用的一种shell,$bash的意思是执行一个子shell,此子shell为b...
linux命令/bin/sh怎么用?
/bin/sh在Linux系统中主要为了遵循POSIX标准。实际上,/bin/sh通常是一个符号链接。不同Linux发行版的/bin/sh指向的文件可能各不相同。常见的指向bash或dash。此外,也可能指向busybox的符号链接,执行的是busybox内的ash。当/bin/sh指向/bin/bash时,运行/bin/sh与运行/bin/bash使用的都是同一个二...
linux脚本程序中,能在屏幕上输出/bin/bash的是下
使用/bin/sh来解释执行。是指此脚本使用/bin/sh来解释执行,/bin/sh是特殊的表示符,其后面跟的是此解释此脚本的shell的路径。在一般的linux系统当中(如redhat),使用sh调用执行脚本相当于打开了bash的POSIX标准模式,也就是说/bin/sh相当于/bin/bash--posix。
shell 脚本 #!/bin/bash #!/usr/bin/env bash 这两个有什么区别啊
其实是没什么区别的。前面一种最常见、最常用;后面一种比较少见,主要是考虑到程序的可移植性,其中,env的作用就是为了找到正确的脚本解释器(这里就是bash),在不同的Linux系统上该解释器可能所处的位置不同。参考资料:http://blog.chinaunix.net/uid-12814440-id-2914742.html ...
linux用户信息里面的: shell /bin/bash 什么意思阿?
/bin 代表的是binary, 二进制文件,主要就是一些系统命令;还有一个常用的目录是/usr/bin,几乎所有的应用程序的可执行文件都装这里的。/bin/bash说明你的shell类型为bash,bash shell是最常用的一种shell, 是大多数Linux发行版默认的shell。 此外还有C shell等其它shell。
Linux中shell 的类型有哪些。
ksh ,ksh有42条内部命令,与bash相比有一定的限制性。tcsh tcsh是csh的增强版,与 C shell 完全兼容。sh 是一个快捷方式,已经被/bin/bash所取代。nologin 指用户不能登录 zsh 目前Linux里最庞大的一种shell:zsh。它有84个内部命令,使用起来也比较复杂。一般情况下,不会使用该shell。
linux/bin/bash是什么意思
linux/bin/bash是Linux操作系统中的一个常见的shell程序。解释:1. Linux操作系统中的组件: `linux/bin/bash`是Linux操作系统中的一部分。Linux是一个开源的操作系统,广泛应用于服务器、个人计算机和移动设备等领域。在Linux系统中,`/bin/`目录通常包含了许多系统必要的可执行文件,其中`bash`就是...
solaris bash 和sh 的区别
区别1:默认shell 两个操作系统的默认shell虽然都是/bin/sh,但linux默认shell是bash,/bin/sh仅是一个指向到/bin/bash的符号链接。 而solaris的默认shell是Bourne shell,名为/bin/sh。区别2:文件系统 标准的solaris文件系统格式是UFS,还可以使用VxFS,QFS,从Solaris 10 u2版开始,还可以使用ZFS。
linux中使用 . / 执行和 bash 执行脚本的困惑?
.是表示在当前shell中执行脚本。所以会在当前的shell界面看到提示。!/usr/bin/bash 则是另开了一个shell执行脚本,所以看不到提示。至于另开脚本是否会覆盖还没有测试过。但是考虑可能会覆盖的情况 ,因该编写一个if 【】进行文件是否存在的测试。如果文件存在,进行判断是跳过还是覆盖。否则文件不存在,...