Temp ディレクトリを作成し、そこにファイルをコピーし、処理を行い、ディレクトリを削除しようとしています。これまでのところ、私は持っています:
#!/usr/bin/env bash
__tmpdir="mktemp -d /Users/Riwaz/support.XXXXXXXXXX" #Create temp directory; store address
cp /some_location/checkstyle.xml $__tmpdir #Copy a file into the directory
cd $__tmpdir
tar -czvf result.tar.gz *
cp result.tar.gz /Users/Riwaz/
rm $__tmpdir
しかし、このように sh を使用して実行すると、次のようになります。
line 7: cd: mktemp: No such file or directory
rm: mktemp: No such file or directory
rm: -d: No such file or directory
rm: /Users/Riwaz/support.XXXXXXXXXX: No such file or directory
これは、mktemp ステートメントが処理されず、変数がアドレスではなく実際のコマンドを保持することを示しています。bash でコマンドを評価し、代わりにアドレスを保存するにはどうすればよいですか? ""、{}、および eval をいじりましたが、機能しませんでした。