sh再帰コピー(cp -r)-サブフォルダーを除外する方法
(net / ssh)を使用しsshてリモートスクリプトを実行し、フォルダーを再帰的にコピーしてサブフォルダーを除外する必要があります。私はそれを行う最速の方法を探しているので、良くありません。また、ではなくを使用していることも理解しています。Rubyrsyncsshshbash バッシュで私はします: cp -r srcdir/!(subdir) dstdir そしてそれはうまくいきます。しかし、スクリプトを起動sshするとエラーが表示されます sh: 1: Syntax error: "(" unexpected 使っているからsh。 shmanページを確認しましたが、ファイルを除外するオプションはありません。 それは正しいssh使用の私の仮定shですか?代替案はありますか? 編集1: それが便利な場合、の出力sudo cat /etc/shellsは次のとおりです: # /etc/shells: valid login shells /bin/sh /bin/dash /bin/bash /bin/rbash /usr/bin/tmux /usr/bin/screen 編集2: OK。したがって、bashは利用可能であり、それは問題ではないようです。sshが実際に使用していることを確認しましたbash。この問題は、括弧または感嘆符のエスケープに関連しているようです。私はシェル(macos)からコマンドを実行しようとしましたが、これが実際のコマンドです。 ssh -i .ssh/key.pem ubuntu@X.X.X.X 'mkdir /home/ubuntu/OpenFOAM/ubuntu-4.1/run/LES_New-Area_residuals2/N; cp -r /home/ubuntu/OpenFOAM/ubuntu-4.1/run/LES_New-Area_residuals2/mesh/!\(constant\) /home/ubuntu/OpenFOAM/ubuntu-4.1/run/LES_New-Area_residuals2/N; ln -s /home/ubuntu/OpenFOAM/ubuntu-4.1/run/LES_New-Area_residuals2/mesh/constant /home/ubuntu/OpenFOAM/ubuntu-4.1/run/LES_New-Area_residuals2/N/constant' このようにして、別のエラーを受け取ります …