$BASH_VERSION 对比 /usr/bin/env
$BASH_VERSION vs /usr/bin/env
我运行检查环境:
env | grep bash
然后一无所获
因此,我认为变量 bash
未在 env 中设置。但是,在 shell 脚本文件中:
#!/usr/bin/env bash
echo $BASH_VERSION
我得到了5.1.16(1)-release
。
好像有点矛盾,一方面我觉得变量bash
一定是设置好了,因为shell脚本文件可以按照预期的方式执行;另一方面,运行宁env | grep bash
,我一无所获。
OS 如何在没有设置 env 变量的情况下找到应用程序 bash-5.1.16?
$BASH_VERSION
不是环境变量,而是 shell 变量。
您可以使用内置的 declare
查看已定义的 shell 变量。
declare | grep BASH_VERSION
BASH_VERSION='5.1.4(1)-release'
env
程序用于运行修改环境的程序。
运行 /usr/bin/env bash
没有参数与 运行ning bash
基本相同,它确保程序在文件系统上而不是 shell 内置。
我运行检查环境:
env | grep bash
然后一无所获
因此,我认为变量 bash
未在 env 中设置。但是,在 shell 脚本文件中:
#!/usr/bin/env bash
echo $BASH_VERSION
我得到了5.1.16(1)-release
。
好像有点矛盾,一方面我觉得变量bash
一定是设置好了,因为shell脚本文件可以按照预期的方式执行;另一方面,运行宁env | grep bash
,我一无所获。
OS 如何在没有设置 env 变量的情况下找到应用程序 bash-5.1.16?
$BASH_VERSION
不是环境变量,而是 shell 变量。
您可以使用内置的 declare
查看已定义的 shell 变量。
declare | grep BASH_VERSION
BASH_VERSION='5.1.4(1)-release'
env
程序用于运行修改环境的程序。
运行 /usr/bin/env bash
没有参数与 运行ning bash
基本相同,它确保程序在文件系统上而不是 shell 内置。