在 bash 脚本中拆分工作目录

Bre*_*ent 4 bash array string shell-script quoting

如果我做:

IFS="/" read -ra PARTS
Run Code Online (Sandbox Code Playgroud)

并手动输入路径,它会按希望创建数组“PARTS”,但是:

IFS="/" read -ra PARTS <<< $(pwd)
Run Code Online (Sandbox Code Playgroud)

创建一个包含单个元素的数组,其中斜杠转换为空格

如何将当前工作目录拆分为数组?

rah*_*hul 6

如果您引用命令,它会起作用。

IFS="/" read -ra PARTS <<< "$(pwd)"
for i in "${PARTS[@]}"
do
  printf '%s\n' "$i"
done

home
user1
Run Code Online (Sandbox Code Playgroud)