首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是#!/usr/bin/与#!/bin/bash相同。

是#!/usr/bin/与#!/bin/bash相同。
EN

Ask Ubuntu用户
提问于 2022-04-15 21:10:55
回答 1查看 1.8K关注 0票数 2

简单的问题,是一样的吗?在编写bash + tab => #!/usr/bin/env bash时,Vim会自动完成我的操作,但是我通常会在每个脚本中查看#!/bin/bash。所以..。

EN

回答 1

Ask Ubuntu用户

发布于 2022-04-15 21:33:15

TL;DR:

使用#!/usr/bin/env bash

较长的答覆:

不,他们不是完全一样的。第一个表单(#!/usr/bin/env bash) 是更好的,因为它将在Bash在您的路径中时工作,但不在/bin中。通常,两者都会起作用。但是,如果您的脚本运行在一个/bin/bash不是Bash (或者不是它的符号链接)的系统上,那么#!/bin/bash不会工作,因为它不在那个位置,但是#!/usr/bin/env bash会。

env在path中查找一个命令,所以如果Bash在您的路径中而不是在/bin中,那么您需要使用env。实际上,由于相当数量的脚本不使用env,操作系统倾向于使/bin/bash成为Bash或它的符号链接。请注意,如果您已经使用了一些旧的系统,但在任何合理的现代操作系统(Debian,Ubuntu,Arch,Fedora等)上,请注意有很小的机会env不管用。最好使用env

票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1402718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档