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

时间:2009-07-24 16:31:16

标签: linux bash command-line environment-variables

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

示例:

source linux_x86.env

env文件看起来像这样:

export ARCH=/home/user/project/linux_x86

我有很多不同的架构要编译,我希望能够做到这样的事情:

export ARCH=/home/user/project/`basename $0 .env`

其中basename $0 .env会给我env文件的基本名称

bash linux_x86.env
linux_x86

上面的工作是一个bash脚本,但在你找到文件时似乎不起作用。

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

1 个答案:

答案 0 :(得分:11)

参见Getting the source directory of a Bash script from within,特别是关于BASH_SOURCE变量的评论。

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