首页 > 系统相关 >Linux中bash、sh、./命令的区别

Linux中bash、sh、./命令的区别

时间:2023-10-16 15:47:15浏览次数:42  
标签:脚本 解释器 shell sh Bash Linux bash

之前在centos7上面执行用pyinstaller打包的程序时发现用【bash xxx】无法运行。改用【./xxx】就可以运行。遂百度一波发现了自己之前理解的一个误区,特记录如下。

Linux存在多种解释器,以下是常用的几种(下方为原文):

bash:
这是Bash shell的解释器。当你使用bash script.sh运行脚本时,你是在告诉系统使用Bash解释器来执行脚本。这意味着脚本中的所有Bash特性都可以使用。


sh:
这是Bourne shell的解释器。当你使用sh script.sh运行脚本时,你是在告诉系统使用Bourne shell解释器来执行脚本。这可能会导致一些在Bash中可用但在Bourne shell中不可用的特性无法使用。


./:
这是在当前目录下运行脚本的方法。当你使用./script.sh运行脚本时,你是在告诉系统在当前目录下查找并执行脚本。这种方法需要脚本具有执行权限,并且会使用脚本文件头部的shebang(#!)指定的解释器来执行脚本。如果没有指定解释器,将使用默认的shell解释器。
————————————————
版权声明:本文为CSDN博主「小蜗牛冲鸭~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34761779/article/details/131998666

标签:脚本,解释器,shell,sh,Bash,Linux,bash
From: https://www.cnblogs.com/yifengyu/p/17767446.html

相关文章

  • Shell脚本学习笔记
    导航目录导航Shell脚本入门脚本格式第一个Shell脚本helloworldShell中的变量系统变量常用系统变量案例实操自定义变量基本语法变量定义规则案例实操特殊变量$n基本语法案例实操特殊变量$#基本语法案例实操特殊变量$*、$@基本语法案例实操特殊变量$?基本语法案例实操运算符基本语......
  • Build ASP.NET Core applications deployed as Linux containers into an AKS/Kuberne
    原文:https://learn.microsoft.com/en-us/dotnet/architecture/containerized-lifecycle/design-develop-containerized-apps/build-aspnet-core-applications-linux-containers-aks-kubernetesAzureKubernetesServices(AKS)isAzure'smanagedKubernetesorchestrat......
  • MQTT控制报文格式 -- PUBACK(Publish Acknowledgement) Publish消息应答
    该消息是接收方收到QoS1的PUBLISH消息后,返回给发送方的应答消息。该消息由于没有Payload,固定包头的剩余长度值为21.固定包头FixedHeaderBit76543210byte1MQTTControlPackettype(4)Reserved 01000......
  • 2023年10月最新全国省市区县和乡镇街道行政区划矢量边界坐标经纬度地图数据 shp geojs
    发现个可以免费下载全国 geojson 数据的网站,推荐一下。支持全国、省级、市级、区/县级、街道/乡镇级以及各级的联动数据,支持导入矢量地图渲染框架中使用,例如:D3、Echarts等geojson数据下载地址:https://geojson.hxkj.vip该项目github地址:https://github.com/TangSY/echarts-m......
  • linux中防止误删文件的方法
    目录安装trash-cliautotrash安装trash-cli#更换国内源rambo@debian:~$cat/etc/apt/sources.listdebhttps://mirrors.aliyun.com/debian/bookwormmainnon-freenon-free-firmwarecontribdeb-srchttps://mirrors.aliyun.com/debian/bookwormmainnon-freenon-free-......
  • MQTT控制报文格式 -- PUBLISH 消息发布
    该数据包定义了客户端和服务端发布MQTT消息格式。1.固定包头FixedheaderBit76543210byte1MQTTControlPackettype(3)DUPflagQoSlevelRETAIN 0011XXXXbyte2RemainingLength......
  • Linux 建立免密登录关系
    若已有密钥,直接开始第三步!!!在本地机器上生成新的SSH密钥对。打开终端,输入以下命令:ssh-keygen-trsa在生成密钥对的过程中,系统会提示您选择保存密钥的文件路径和设置密码短语(可选择跳过)。按照提示完成操作。在远程服务器上创建.ssh目录(如果不存在)。在终端中输入以下命令:s......
  • 如何使用Linux进行进程调度优化
    如何使用Linux进行进程调度优化WBOY发布:2023-08-0216:13:21原创315人浏览过 如何使用Linux进行进程调度优化随着计算机技术的发展和互联网的普及,对计算机系统的性能要求越来越高。进程调度作为操作系统的重要功能之一,在提高系统性能方面起着重要作用。Lin......
  • Linux内核进程管理与调度:策略优化与实践分析
    Linux内核进程管理与调度:策略优化与实践分析原创 李斌 嵌入式悦翔园 2023-05-0611:40 发表于上海关注★星标公众号,第一时间获取信息嵌入式悦翔园本公众号专注于嵌入式技术,包括但不限于STM32、Arduino、51单片机、物联网、Linux等编程学习笔记,同时,公众号内包含大量......
  • 无涯教程-NumPy - reshape函数
    此函数在不更改数据的情况下为数组提供了新的维度,它接受以下参数-numpy.reshape(arr,newshape,order')Sr.No.描述1arr数组2newshapeint或int的元组,新维度应与原始维度兼容3order如果数组存储在类似Fortran的连续内存中,则"C"表示C风格,"F"表示Fortran风格,"......