当前位置: 首页 > news >正文

CentOS7的#!bash #!/bin/bash #!/bin/env bash #!/usr/bin/bash #!/usr/bin/env bash

bash脚本开头可写成 #!/bin/bash , #!/bin/env bash , #!/usr/bin/bash , #!/usr/bin/env bash

  • #!/bin/bash , #!/usr/bin/bash
  • #!/bin/env bash , #!/usr/bin/env bash

CentOS7的 /bin/usr/bin 的软链接, /sbin/usr/sbin 的软链接,

[root@3050 ~]# ll /bin
lrwxrwxrwx. 1 root root 7 421 2023 /bin -> usr/bin
[root@3050 ~]# ll /sbin
lrwxrwxrwx. 1 root root 8 421 2023 /sbin -> usr/sbin

所以

  • #!/bin/bash#!/usr/bin/bash 是等价的,
  • #!/bin/env bash#!/usr/bin/env bash 是等价的

那么 #!/bin/bash#!/bin/env bash 有什么不同呢?

#!/bin/bash 是直接调用 bash 命令

#!/bin/env bash 是调用 env 命令, 且 bash 作为参数, 从而调用 bash

执行以下命令的效果一样, 都相当于执行了 bash 命令, 新开子bash

bash
/bin/bash
/usr/bin/bash
/bin/env bash
/usr/bin/env bash
  • 使用 env 调用 bash 提供了灵活性, 可以变化bash的位置或多版本,只要写到环境变量PATH就行。但也降低了安全性,比如将恶意的命名为bash的程序放入环境变量PATH并靠前 .

  • 直接调用 bash 则更加安全?(好像也牵强)

另外, 既然可以写成 #!/usr/bin/env bash 这样执行命令的形式,
那也可以写成 #!bash 这样的形式

可以写成这样

在这里插入图片描述

http://www.lryc.cn/news/375272.html

相关文章:

  • 代码随想录第四十一天打卡
  • 矩阵补全IGMC 学习笔记
  • 面试题之CSS
  • MFC扩展库BCGControlBar Pro v35.0新版亮点:重新设计的工具栏编辑器等
  • python调用SDK的问题
  • html入门综合练习
  • 函数模板的具体化
  • 【Linux 内存管理】
  • AJAX 数据库
  • 力扣719.找出第K小的数对距离
  • 富格林:掌握可信出金交易策略
  • HCS-华为云Stack-容器网络
  • 【CSS in Depth2精译】1.1 层叠
  • 【读博日记】拓扑结构(待修正)
  • QT 中setVisible()和setEnabled()的区别
  • 速度(velocity)、加速度(acceleration)、急动度(jerk)和弹跳度(snap)傻傻分不清楚?
  • 【YashanDB知识库】PHP使用ODBC使用数据库绑定参数功能异常
  • 初级篇-Docker容器知识
  • 【抽代复习笔记】19-群(十三):奇偶置换、循环置换的几个定理及例题
  • RT-Thread简介及启动流程分析
  • MCU嵌入式AI开发笔记-视频笔记同步更新
  • DoIP——step2:车辆发现
  • 【动态规划】0-1背包问题
  • WordPress 高级缓存插件 W3 Total Cache Pro 详细配置教程
  • 每日一题——Python实现PAT乙级1012 数字分类(举一反三+思想解读+逐步优化)五千字好文
  • Unity2D游戏制作入门 | 13 ( 之人物三段攻击 )
  • DAY04 HTMLCSS
  • Linux_理解程序地址空间和页表
  • NAND闪存市场彻底复苏
  • 过拟合与正则化