小编Sac*_*yer的帖子

在 source 命令中使用时,有没有办法获取 bash 脚本的路径

我想设置一个相对于脚本位置的环境变量。我可以在脚本(test.sh)期间轻松找到并设置它:

#!/bin/bash
export MY_VARIABLE=$(dirname $0)
echo MY_VARIABLE is : $MY_VARIABLE
Run Code Online (Sandbox Code Playgroud)

称呼:

./test.sh
Run Code Online (Sandbox Code Playgroud)

输出:

MY_VARIABLE is : .
Run Code Online (Sandbox Code Playgroud)

如果我想在其他脚本中使用该变量,则需要使用 source 命令进行设置。这当然不起作用,因为我现在不是调用 test.sh 脚本,而是调用 source 命令。

source test.sh
Run Code Online (Sandbox Code Playgroud)

输出:

dirname: illegal option -- b
usage: dirname path
MY_VARIABLE is :
Run Code Online (Sandbox Code Playgroud)

有没有办法在脚本中定义一个环境变量,然后可以与 source 命令一起使用?

bash command-line

5
推荐指数
1
解决办法
1678
查看次数

标签 统计

bash ×1

command-line ×1