日期:2014-05-16  浏览次数:20658 次

关于sh脚本的问题,谢谢!
在安卓系统中编写sh脚本的问题

我发现安卓系统中一下代码可以执行

C/C++ code

#!/system/bin/sh
#added by link2sd
sleep 2
mount -t ext3 -o rw /dev/block/vold/179:2 /data/sdext2

mount -t ext3 -o rw /dev/block/mmcblk0p2 /data/sdext2





我自己在WIN下用记事本编的程序不能执行

C/C++ code

#!/system/bin/sh



sleep 2


mount rootfs rootfs / rw remount

if [ ! -e /system/app2ext -a -e /dev/block/mcblk0p2];then
     
#busybox rm -rf /data/app
#busybox rm -rf /data/app-private
#busybox rm -rf /data/dalvik-cache

mkdir /system/app2ext

mount -t ext3 -o rw /dev/block/vold/179:2 /system/app2ext
mount -t ext3 -o rw /dev/block/mmcblk0p2 /system/app2ext
mkdir /system/app2ext/data
mkdir /system/app2ext/data/app
mkdir /system/app2ext/data/app-private
mkdir /system/app2ext/data/dalvik-cache
fi


if [ -e /system/app2ext -a -e /dev/block/mmcblk0p2 ];then
    
#busybox ln -s /system/app2ext/data/app-private /data/app-private
#busybox ln -s /system/app2ext/data/app /data/app
#busybox ln -s /system/app2ext/data/dalvik-cache /data/dalvik-cache
fi



不知道为什么最上面那段代码在文本文档中是没有分段的连成一行,但是拷贝到这里竟然自己就分开了,不只是怎么回事,
我下面的代码有什么问题吗?谢谢!

------解决方案--------------------
回车换行的问题?
------解决方案--------------------
探讨

引用:

回车换行的问题?


怎么换行啊?

现在用win下得VI编辑器发现上面一个代码的每一行后面有一个向下的三角
我写的没有啊!

------解决方案--------------------
android是基于Linux的,可以把脚本放到Linux机器上,用dos2unix转一下格式。
------解决方案--------------------
unix最后的换行是\n,windows是\n\r
需要用4L说的dos2unix之类的工具转换一下
------解决方案--------------------
可能是脚本文件格式的问题

试试
perl -pi -e 's/\015//' yourshell