简单的问题,是一样的吗?在编写bash + tab => #!/usr/bin/env bash时,Vim会自动完成我的操作,但是我通常会在每个脚本中查看#!/bin/bash。所以..。
发布于 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。
https://askubuntu.com/questions/1402718
复制相似问题