如何访问您在Bash中采购的文件的基本文件名?

hac*_*osh 8 linux bash command-line environment-variables

我在bash终端中寻找一个需要导出一些环境变量的文件.

例:

source linux_x86.env
Run Code Online (Sandbox Code Playgroud)

env文件看起来有点像这样:

export ARCH=/home/user/project/linux_x86
Run Code Online (Sandbox Code Playgroud)

我有一堆不同的体系结构要编译,我希望能够做到这样的事情:

export ARCH=/home/user/project/`basename $0 .env`
Run Code Online (Sandbox Code Playgroud)

哪里basename $0 .env会给我env文件的基本名称

bash linux_x86.env
linux_x86
Run Code Online (Sandbox Code Playgroud)

上面的工作是一个bash脚本,但是当你获取文件时它似乎不起作用.

有没有办法从源头获得相同的行为?

And*_*ett 12

请参阅从内部获取Bash脚本的源目录,尤其是有关BASH_SOURCE变量的注释.

摘要: SCRIPT_NAME=$(basename ${BASH_SOURCE[0]})