📜  当前位置 bash - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:39:32.668000             🧑  作者: Mango

当前位置 bash - Shell-Bash

在编写脚本时,常常需要获取脚本的当前位置,以便进行文件操作或程序逻辑的处理。在 Bash shell 脚本中,可以使用以下变量获取当前位置:

# 获取脚本文件所在目录
script_dir=$(dirname $0)

# 获取脚本文件名(不含路径)
script_name=$(basename $0)

# 获取脚本所在的绝对路径
script_path=$(cd $(dirname $0) && pwd)/$(basename $0)

# 获取当前工作目录
current_dir=$(pwd)

其中,$0 代表脚本文件的路径名。

可以将这些变量用于文件操作,例如:

# 在脚本所在目录创建 foo 目录
mkdir "$script_dir/foo"

# 在脚本所在目录创建 bar.txt 文件,并写入一行内容
echo "Hello World" > "$script_dir/bar.txt"

# 在脚本所在目录查找所有扩展名为 .txt 的文件,并输出它们的名字和大小
find "$script_dir" -name "*.txt" -exec du -h {} \;

同样,可以将这些变量用于判断路径或进行程序逻辑的处理,例如:

# 判断当前位置是否在 /usr/local/bin 目录下
if [[ "$current_dir" == "/usr/local/bin" ]]; then
    echo "You are in /usr/local/bin directory"
else
    echo "You are not in /usr/local/bin directory"
fi

总结:

在 Bash shell 脚本中,获取当前位置的变量包括:

  • script_dir: 脚本文件所在目录。
  • script_name: 脚本文件名(不含路径)。
  • script_path: 脚本文件的绝对路径。
  • current_dir: 当前工作目录。

可以将这些变量用于文件操作、判断路径或进行程序逻辑的处理。