我有两个文件夹,A和B.在文件夹A中,我有一个数据文件。在文件夹B中,我有程序文件。我希望文件夹B中的程序对文件夹A中的文件进行操作,从文件夹B运行。
我能想到的唯一方法是将文件从A移动到B的脚本,从文件夹B运行命令,然后将输出文件从B移回A.无论如何,我可以将文件保存在文件夹A中并从B运行程序
这是我的脚本。它非常混乱,我认为应该采用更清洁的方式。
echo "Signing with test keys....";
mv *.apk $HOME/signapk/files/not_signed.apk;
cd $HOME/signapk/files;
java -jar signapk.jar testkey.x509.pem testkey.pk8 not_signed.apk signed_apk.apk;
mv not_signed.apk $HOME/signapk/original.apk;
mv signed_apk.apk $HOME/signapk/test_signed.apk;;
2) echo "Signing with private keys....";
mv *.apk $HOME/signapk/files/not_signed.apk;
cd $HOME/signapk/files;
java -jar signapk.jar certificate.pem key.pk8 not_signed.apk signed_apk.apk;
mv not_signed.apk $HOME/signapk/original.apk;
mv signed_apk.apk /$HOME/signapk/private_signed.apk;;
3) echo "Press enter to contintue with zipaligning";
read ;
mv *.apk $HOME/signapk/files/zipalign.apk;
cd $HOME/signapk/files;
./zipalign -v -f 4 zipalign.apk zipaligned.apk;
mv zipaligned.apk $HOME/signapk/zipaligned;
mv zipalign.apk $HOME/signapk/original.apk;;
答案 0 :(得分:1)
您是否考虑使用symbolic links - 从您的临时目录B到{ - 3}}命令的其他目录A-?
所以你可以先创建一个新的空目录
mydir=$(mktemp -d)
请你的shell在退出时清理它
trap "rm -rf $mydir" EXIT
然后你可以用符号链接填充它
ln -s *.apk $mydir
最后在那里运行你的程序
cd $mydir
yourprog *.apk
等。随意适应您的需求。
答案 1 :(得分:0)
我明白了!您所要做的就是将路径附加到文件中。 因此:
java -jar signapk.jar nameof.apk
变为:
java -jar ./path/to/signapk.jar nameof.apk