不懂SHELL 帮忙加注释
发表于 : 2012-04-02 15:35
APP2SD 里边的SH。
批量执行出错。只好看着一步一步执行了。
批量执行出错。只好看着一步一步执行了。
代码: 全选
#!/sbin/sh
if [ -e /dev/block/mmcblk0p2 ]; /** 检查了什么 ?**/
then
if [ ! -d /system/sd ]; /***如果 system/sd 不存在 ?**/
then
mkdir /system/sd /***创建 system/sd***/
chown system.system /system/sd /**更改所有者 ??*///
chmod 771 /system/sd /**更改权限 **/
echo "Created /system/sd" /** 提示创建完毕** /
fi;
busybox mount -t auto /dev/block/mmcblk0p2 /system/sd /**用busybox 中的挂载命令挂载?????**/
chown system.system /system/sd 更改所有者
chmod 771 /system/sd 更改权限
for i in app app-private dalvik-cache; 在 app app-pribate。。。 中执行下面的命令
do
if [ ! -d /system/sd/$i ]; 检查 ..... 检查这个目录中的$i ??? 什么东西 ?? 到FI那里貌似是照着 上边的几个文件夹创建文件什么的。。。
then
mkdir /system/sd/$i
echo "Created /system/sd/$1"
fi
chown system.system /system/sd/$i; 看来 Si 确实是个变量 估计是上边三个文件夹里的子文件。。。
chmod 771 /system/sd/$i 更改这些文件的权限
if [ -d /data/$i ] && [ ! -h /data/$i ]; 这个 。。。。对比么 ????
then
busybox cp -a /data/$i/* /system/sd/$i/ 用busy那个工具执行CP 命令 。。。。 安卓自己不带CP。。
busybox rm -f /data/$i/* 删除老的
echo "Moving /data/$1 to /system/sd/$1" 提示。
fi; 循环结束了
done;
for i in app app-private;
do
if [ -d /data/$i ] && [ ! -h /data/$i ]; 又是对比。。
then
busybox rm -rf /data/$i 删除了。
echo "Created /data/$1 link"提示。
fi;
busybox ln -s /system/sd/$i /data/$i 把DATA下的那些链接到 SD文件里。 (APP2EXT中最主要的。。。 要不手机内存没装几个就满了。。)
done;
busybox mount -o bind /system/sd/dalvik-cache /data/dalvik-cache; 这个挂载了什么。。。。
chown system.system /data/dalvik-cache; 改所有者
chmod 771 /data/dalvik-cache; 改权限
busybox cp /system/xbin/install-recovery.sh /system/etc/ 复制粘贴
chmod 0755 /system/etc/install-recovery.sh 改权限。。
tune2fs -j /dev/block/mmcblk0p2 验证分区2的格式。。。。 (晕,,这个为啥不写到开头。貌似也只是验证下。。。没多大意义)
echo "App2SD Activated" 提示
reboot 重启了。。
exit 0 退出
else
echo -n "You have created EXT partition then format it! .."
echo
echo -n "Unmounting all partitions ..."
busybox umount -ddl /sdcard/ 2>&1 >>"$LOGFILE"
busybox umount -f /sdcard > /dev/null 2>&1 >>"$LOGFILE"
busybox umount -f "/dev/block/mmcblk0p1" > /dev/null 2>&1 >>"$LOGFILE"
busybox umount -f "/dev/block/mmcblk0p2" > /dev/null 2>&1 >>"$LOGFILE"
echo "Done"
echo
echo -n "Removing the partitions ..."
parted /dev/block/mmcblk0 rm 1
parted /dev/block/mmcblk0 rm 2
echo "Done"
echo
echo -n "Creating all the partitions ..."
echo "FAT32"
parted /dev/block/mmcblk0 mkpartfs primary fat32 0 1466
echo "EXT2"
parted /dev/block/mmcblk0 mkpartfs primary ext2 1466 1978
tune2fs -j /dev/block/mmcblk0p2
echo
echo "All partition created"
echo
sh /system/xbin/app2sd.sh
fi