即使使用 shopt -s extglob set,glob 扩展也不起作用

即使使用 shopt -s extglob set,glob 扩展也不起作用

我尝试chmod -R 644 /tmp/work/*在 bash 脚本中执行此操作,但是出现以下错误:

#!/usr/bin/env bash
shopt -s extglob
set -eu

mkdir -p /tmp/work/
chmod -R 777 /tmp/work/
sftp -o StrictHostKeyChecking=accept-new user1@hostname1:/tmp/test* /tmp/work/
chmod -R 644 /tmp/work/*

chmod: cannot access '/tmp/work/*': No such file or directory

当我尝试使用同一用户在 shell 中运行相同的命令时,它运行成功。

似乎 shell 的问题是由于全局扩展造成的?所以我已经在 bash 中的命令shopt -s extglob之前设置了chmod,但仍然遇到相同的错误。

有什么想法我做错了什么吗?

相关内容