我有一个用于处理 Android 文件的脚本。我从其他地方借了很多代码并放在一起,现在差不多完成了。
该脚本在(至少)两件事上有错误:
- 当用户选择不可用的选项时,我希望它显示消息“无效选择”,然后返回选择屏幕。
- 无论我是否对选定文件运行操作,如果我返回主菜单(称为“build”的“主”脚本)并返回此脚本,文件列表会以某种方式继续从最后一个文件编号time.. 即第一次运行的最后一个文件是#43。当我再次运行脚本时,第一个文件以 #44 开头。我必须完全退出主(构建)脚本并重新开始
这是脚本:
#!/bin/bash
HOME=/home/dan/buildtool
d=$HOME/apk_in/decompiled
clear
a=`ls -d $d/* | grep .apk`
if [[ "$?" == "0" ]] ; then
echo "Available apks for Recompiling: "
echo
cd $d
for apkName in `ls | grep .apk`
do
i=$(($i+1))
apkArray[$i]=$apkName
echo " $i. $apkName" >> temp.list
done
cat temp.list
rm -f temp.list
echo
echo -n "Choose Apk number (choose x to return to menu): "
read ans
echo
if [ "$ans" == "" ]; then
echo "Invalid choice"
echo
exit 0
fi
if [ "$ans" == "x" ]; then
clear
. $HOME/build
fi
if [ "`echo $ans | sed 's/[0-9]*//'`" == "" ] || [ "ans"=="1" ]; then
apkDecode=${apkArray[$ans]}
if [ "$apkDecode" == "" ]; then
exit 0
fi
else
exit 0
fi
apktool b -f $apkDecode
else
echo
clear
echo "No valid files"
fi
理想情况下,我希望能够选择的不仅仅是一个文件来使用,但我想这将是对脚本的完全重写。首先,我想清理这个: )