shopt -s extglobセットを使用してもglob拡張は機能しません。

shopt -s extglobセットを使用しても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

同じユーザーを使用してシェルで同じコマンドを実行しようとすると、正常に実行されます。

シェルの問題はグローバル拡張によるものだと思いますか?だからbashのコマンドshopt -s extglobの前に設定しましたが、chmodまだ同じエラーが発生します。

何が間違っているのか、どんなアイデアがありますか?

ベストアンサー1

おすすめ記事