【217】#!/usr/bin/env 的意义

2023-05-16


  

a0e0a37a14c50c9f34889d6c9a55fda6.gif

题目部分(原文见公众号:python宝)

 python宝

https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzU5NjIyOTE4OQ==&scene=123#wechat_redirect

小麦苗DB宝

https://www.xmmup.com/

答案部分

在linux的一些bash的脚本,需在开头一行指定脚本的解释程序,如: 

#!/usr/bin/env bash


#!/usr/bin/bash


#!/usr/bin/env python3  
告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器;


#!/usr/bin/python3  
告诉操作系统到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作

547f6bb7119bb6aad3f37e4bcc5c7838.png

两种形式的区别是什么?

脚本用env启动的原因,是因为脚本的解释器可能安装在linux的不同的目录,env可以在系统的PATH目录中查找。同时,env还规定一些系统环境量。 而如果直接将解释器路径写死在脚本里,可能在某些系统就会存在找不到解释器的兼容性问题。

env是在系统的PATH目录中查找解释器。同时,env还规定一些系统环境变量,具体配置可以查看下方链接,可以通过env 命令查看env包含的内容

5a8be62c33eb6fce475585f8999ffe47.png

环境变量配置

2dba8fa8678f95c267f9f040e11fa7e7.png

About Me:小麦粒

● 本文作者:小麦粒,专注于python、数据分析、数据挖掘、机器学习相关技术,也注重技术的运用

● 作者博客地址:https://blog.csdn.net/u010986753

● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

● 个人微信号:pythonbao 联系我加微信群

● 个人QQ:87605025

● QQ交流群py_data :483766429

● 公众号:python宝 或 DB宝

● 提供OCP、OCM和高可用最实用的技能培训

● 题目解答若有不当之处,还望各位朋友批评指正,共同进步

03d76096b9f8b34c1d236241fa6db692.gif

如果你觉得到文章对您有帮助,点击下方我的头像,赞赏我哦!

有您的支持,小麦粒一定会越来越好!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【217】#!/usr/bin/env 的意义 的相关文章

  • /usr/bin/ld: cannot find -lCUDA_cublas_device_LIBRARY-NOTFOUND

    这个错误简直天坑 xff0c 先说结论 xff1a 将cmake升级 降级到3 15版本 错误原因 xff1a CUDA cublas device LIBRARY这个库在cuda10左右就不再使用了 xff0c 后面的cuda11 x等不
  • 错误-解决/usr/bin/ld: cannot find -lxxx 问题

    本文来自 xff1a http blog chinaunix net uid 354915 id 3573647 html 今天编译程序遇到 xff1a usr lib64 gcc x86 64 suse Linux 4 3 x86 64
  • .hex文件和.bin文件区别

    HEX文件和BIN文件是我们经常碰到的2种文件格式 因为自己也是新手 xff0c 所以一直对这两个文件懵懵懂懂 xff0c 不甚了解 xff0c 最近在做STM32单片机的IAP更新 xff0c 其中要考虑HEX文件和BIN文件 xff0c
  • cuda11.0pytorch拓展c++的bug:/usr/bin/ld: cannot find -lcudart

    stylegan2使用了c 43 43 拓展 xff0c 但是加载c 43 43 拓展的神经网络老是报错 我用pytorch拓展c 43 43 实现训练提速 xff0c 发现老是要么莫名的load失败 xff0c 发现python不能用3
  • python-python3错误(: /usr/local/lib/python3.6/site-packages/cv2.so: undefined symbol: PyCObject_Type)

    python ubuntu16 04下 xff08 有ros kinetic xff09 运行python3 在spyder3下运行出现如下错误 usr local lib python3 6 site packages cv2 so un
  • rt-thread studio 开启easyflash(env)

    文章目录 前言一 启用外部norflash补充说明 前言 提示 xff1a 这里可以添加本文要记录的大概内容 xff1a 环境 xff1a Art pi开发板 bsp版本1 2 1 RT Thread 4 0 3 否则添加不了fal软件包
  • shell中的#!/bin/bash

    bin bash是指此脚本使用 bin bash来解释执行 其中 xff0c 是一个特殊的表示符 xff0c 其后 xff0c 跟着解释此脚本的shell路径
  • /usr/bin/ssh-copy-id: ERROR

    搭建hadoop的时候不小心配错域名 导致配置免密码登陆的时候密码一直输入错误 重新修改域名后在配置就一直报错 解决办法 在 ssh目录下修改known hosts文件中配置错的域名 直接删除 重新执行命令 ssh copy id slav
  • Highway_env(Intersection)修改离散动作空间

    前言 在十字路口环境中 xff0c 主车默认的动作空间是以5m s变化的加减速以及保持原速三个动作 有时候为了学习更优化的策略 xff0c 同时与自己设置的奖励函数吻合 xff0c 需要修改环境的动作空间 这里我们主要添加两个较小加速度的纵
  • Canal 读取 mysql bin_log

    场景 xff1a 在微服务开发的过程中多个项目协同完成一个功能 xff0c 工程与工程之间存在数据上的解耦 xff0c 底层服务为上层服务提供数据 而底层服务有需要对数据进行管理 解决方案 xff1a 基本底层服务 通过 canal 获取
  • 解决ImportError: dlopen(/usr/local/Cellar/python/3.7.2_2/Frameworks/Python.framework/Versions/3.7/lib/

    import span class token punctuation span span class token string 34 ssl 34 span span class token punctuation span E Impo
  • stm32 esp8266 ota升级-qt bin文件处理工具

    stm32 esp8266 ota系列文章 xff1a stm32 esp8266 ota 快速搭建web服务器之docker安装openresty stm32 esp8266 ota升级 tcp模拟http stm32 esp8266 o
  • vue中使用.env文件配置全局变量

    首先根目录下创建 env或者 env production文件 生产环境 env develpment文件 开发环境 变量命名格式 键值对形式 VUE APP NAME value VUE APP 是规定的命名格式 NAME是自定义的变量名
  • 使用fromelf把axf文件转换成elf格式

    FROMELF用法 命令格式 fromelf options input file fromelf h即可打印出帮助信息 Product MDK Plus 5 29 Component ARM Compiler 5 06 update 6
  • ARM汇编学习三

    有时 一次性加载 或存储 多个值更有效率 因此 我们需要使用LDM 载入多个值 和STM 存储多个值 这些指令基于起始地址的不同 有不同的形式 下面是我们将在本节中将会使用的代码 我们将一步一步地完成每一个指令 代码在test5 s中 da
  • Swift 中的十六进制/二进制字符串转换

    Python 有两个非常有用的库方法 binascii a2b hex keyStr 和 binascii hexlify keyBytes 我在 Swift 中一直在努力解决它们 Swift 中有什么现成的东西吗 如果没有 又该如何实施呢
  • bash_profile 未与 Chef-run 一起生效

    如果我与厨师一起运行以下食谱 则会添加条目 bash profile 但是当我这样做时echo PATH or echo JAVA HOME 命令行返回空白值 那里发生了什么事 ruby block set env java home do
  • 装箱暴力法

    我需要制作解决装箱问题的程序 但我已经制作了首次拟合和贪婪算法 但我的讲师说在某些情况下它不会找到问题的最小解决方案 所以我决定尝试暴力破解 但我不知道它应该如何检查所有可能的解决方案 所以是的 有人可以向我解释一下或者给出伪代码什么的 我
  • 从 C# 的 zip 文件中读取二进制文件而不解压它

    我想从 zip 文件中读取二进制文件而不解压缩它 zip 文件结构 zipFolderName subFolder BinFile 在 BinFile 中 我有 Id1 id2 value1 id1 id2 are string value
  • 升级到 Mountain Lion 和 XCode 4 破坏了我的“品牌”?

    TL DR 我升级了一些东西 现在我无法运行 make wtf 我刚刚从 Mac OS X 10 6 升级到 10 8 Mountain Lion 然后安装了 XCode 4 以前我有 Developer Applications Xcod

随机推荐

  • Go同目录下多个main声明会导致编译失败的问题

    问题 xff1a Go同目录下多个main声明会导致编译失败的问题 main redeclared in this block 表示在同级目录下main重复声明 xff0c 在学习中可以依照不同的文件夹进行分割 xff0c 也可以按照如下方
  • 嵌入式debian没有lsusb命令解决

    问题 bash lsusb command not found 解决
  • Python学习笔记-PyQt6状态栏

    QMainWindow有自带的状态栏 xff0c 可以通过statusBar 方法获取自身的状态栏 xff0c 或者通过实例化QStatusBar类 xff0c 然后使用QMainWindow setStatusBar 方法将状态栏添加到主
  • 未完成的IT路停在回车键---2014年末总结篇

    时间都去哪儿了 xff1f 一晃而过 xff0c 越来越能体会到这个词的真实感 特别是过了二十岁 xff0c 这种感觉越来越深刻 xff0c 越来越强烈 xff0c 犹如小编做公交车的时候一直向后排排倒的香樟树 xff0c 还记得有首歌叫时
  • 这一次,VR离我们真的很近

    从高考作文开始 今年号称是VR元年 xff0c 虽然目前VR还没能像手机一样走进千家万户 xff0c 但关于VR设备的关讨论是层出不穷 而今年高考 xff0c 浙江省的作文题就与VR相关 网上购物 视频聊天等在我们生活中越来越普及 有人预言
  • 补.从零开始学习C语言--scanf的%c前为什么加空格

    include lt stdio h gt int main void int i char ch scanf 34 d 34 amp i scanf 34 c 34 amp ch 这行的 C前有个空格 printf 34 i 61 d n
  • svn status 返回值详解

    转http blog linuxphp org archives 652 svn 是在提交前查看本地文本和版本库里面的文件的区别 返回值有许多种具体含义如下 xff1a url 61 L abc c svn已经在 svn目录锁定了abc c
  • ubuntu杀毒软件clamAV运维笔记

    1 安装 xff1a apt get install clamav 2 守护进程安装 xff1a apt get install clamav daemon 3 更新病毒库 xff1a freshclam 或手动下载安装 cvd文件 备注
  • shell 教程一:变量,字符串,传参

    一 xff0c hello shell strong span class pln style color rgb 72 72 76 vi hello span span class pun style color rgb 147 161
  • 树莓派Ubuntu20.04创建虚拟内存文件并设置开机自动启用

    目录 一 检查有没有虚拟内存 二 创建虚拟内存文件并设置权限 三 设置并激活虚拟内存文件 四 设置开机自动启用虚拟内存 五 重启后检测虚拟内存是否正常启用 一 检查有没有虚拟内存 树莓派Ubuntu20 04默认没有虚拟内存 xff0c 可
  • 随着稻香河流继续奔跑 ——致2016

    写在前面 xff0c 2016于我而言 xff0c 是丰收的一年 这一年 xff0c 我收获了能力与本领 xff0c 收获了美丽与自信 xff0c 收获了欣赏和肯定 2017 xff0c 我会不忘来时路 xff0c 继续前行 2016的驿站
  • 浅谈strtok函数的使用心得

    经常使用strtok函数进行文本操作 xff0c 其实他是一个很好用的函数 xff0c 很方便 xff0c 能够简单的实现一行文本的切分操作 xff0c 总结一下使用心得 函数原型char strtok char s const char
  • 局域网内Windows使用RealVNC远程连接CentOS6.5桌面

    1 进入root终端 xff0c 检查是否安装VNC server xff1a rpm q tigervnctigervnc server 2 如果未安装VNC server xff0c 则 xff1a yum install ytiger
  • CentOS7安装tigerVNC

    一 首先系统是已经安装了图形界面 并默认是启动到图形界面 xff0c 如果你的系统没安装图形界面 xff0c 就请给系统安装图形界面 xff1a yum y span class token function groups span spa
  • openstack主要版本亮点

    openstack主要版本亮点 1 Stein 在Stein新增的几十项功能特性中 xff0c 主要亮点有三 xff1a 容器功能的强化 用于支持5G 边缘计算和网络功能虚拟化 xff08 NFV xff09 用例的网络升级功能 资源管理和
  • OpenStack 学习之 OVN : L2网络 ( Logical switches 逻辑交换机)

    OVN Manual install amp Configuration Open vSwitch 官网 参考 OVN学习 xff08 一 xff09 OVN实战一之GNS3操作指南及OVN入门 简单理解和知识 按照 OVN Manual
  • linux vncserver设置及配置自动启动

    VNC 服务端 vncserver 启动VNC vncserver kill num num一般从1开始 因为0被x server占用了 vncpasswd 设置vnc连接密码 要使用VNC图形界面修改 vnc xstartup配置文件中末
  • 【125】Linux 中 ps -ef|grep和ps、grep详解

    一 ps ef grep详解 xff08 原文见公众号python宝 xff09 ps命令将某个进程显示出来 PS是LINUX下最常用的也是非常强大的进程查看命令 grep命令是查找 xff0c 是一种强大的文本搜索工具 xff0c 它能使
  • Pycharm Debug调试(纯干货)

    内容目录 xff08 原文见公众号python宝或www xmmup com xff09 一 打断点二 代码调试三 界面小图标介绍四 控制台介绍 数字转换为大写人民币 import sys import io sys stdout 61 i
  • 【217】#!/usr/bin/env 的意义

    题目部分 xff08 原文见公众号 xff1a python宝 xff09 python宝 https mp weixin qq com mp profile ext action 61 home amp biz 61 MzU5NjIyOT