私は実際のxアプリケーションなどで実装し、いくつかのスクリプトをよりエレガントにしようとしています。
スクリプトのある時点で、私たちはデフォルトでマウントされたリムーバブルストレージデバイスのすべてをインポートし、tmp作業フォルダ内の指定されたフォルダにコピーしようとします。シェルで実行するとスムーズに実行されます。コードで実行すると失敗します。
コピーコマンド:
cp -avfr /tmp/mnt221234jk/* /tmp/mnt23255/disk1/
基本アプリケーションで発生するエラーは次のとおりです。
cp: cannot stat: '/tmp/mnt221234jk/*' file not found.
奇妙なことは、それが確かに存在し、アプリケーションを実行しているユーザーに適切な権限があることです。stat /tmp/mnt221234jk/*
シェルから cp コマンドを実行でき、両方とも正常に動作します。
それ以外の/*
ファイルコピーソースから省略すると動作しますが、ターゲットにmnt221234jk
私が望む名前ではない新しいフォルダが作成されます。
いくつかの注意:シェルコマンドを実行するコードは間違いなく機能し、うまく動作します。しかし、作業経路やそのようなものが必要なのは、おそらく少し奇妙です。
ファイルが存在しないために統計的エラーが発生しないと、誰にもビープ音が鳴りますか?
権限などを使用してファイル構造を再帰的に効率的にコピーできる代替シェルコマンドがある場合は、それを別の方法で実装しようとします。
ベストアンサー1
問題のあるスクリプトの呼び出しは、ワイルドカードファイルではなくシェルによって実行されます。どのように呼ぶかはわかりませんが、ファイルを繰り返すか繰り返す方法を見つける必要があります。