爱黑武论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5546|回复: 19

touch ----------(shell脚本命令)创建0字节文件,以自启为例

[复制链接]
发表于 2009-12-9 13:32 | 显示全部楼层 |阅读模式

立即注册,加入爱黑武论坛的大家庭!爱黑武,爱上搞机生活!

您需要 登录 才可以下载或查看,没有账号?注册

x
首先为什么要在自启脚本里面使用touch
因为开机以后手机就会运行自启脚本里面指定的程序
而我们每次刷新手机,就是busybox killall am
我们的手机又会重复运行一次自启脚本....
所以我们就需要用这个touch命令在临时文件夹 tmp 中建立一个0字节的文件
因为只有我们的手机重启tmp里面的临时文件就会自动删除...
以达到只在重启手机的情况下才会运行自启脚本的目的....
#!/bin/sh首先是shell脚本文件的开头

this_path=`busybox dirname \"$0\"`# 定义当前脚本所在文件夹的路径为 this_path
if [ ! -f/tmp/auto.tmp ] ; then# 如果在临时文件夹tmp中没有auto.tmp临时文件,重启以后tmp文件夹里面肯定没有auto.tmp
$this_path/auto.ini# 那么就运行 当前目录的auto.ini脚本文件
$this_path/autorun.sh# 接着运行当前目录的autorun.sh文件
touch /tmp/auto.tmp # 最后在临时文件夹tmp中创建0字节的临时文件auto.tmp,为了防止刷新手机时重新运行自启脚本
if
这里用到了一个 touch 命令.是一个建立0字节文件的命令
其实你可以改成
if [ ! -f/tmp/auto.tmp ] ; then# 这个是如果在临时文件夹tmp中没有auto.tmp临时文件
$this_path/.auto.ini & # 那么就运行 当前目录的 .auto.ini 脚本文件
$this_path/auto.ini & # 那么就运行 当前目录的auto.ini脚本文件
$this_path/autorun.sh&# 接着运行当前目录的autorun.sh文件
$this_path/Others/autorun.csh& #运行当前文件夹中 Others文件夹 中的autorun.csh 文件(这样就可以和涛声依旧的通用)
touch /tmp/auto.tmp # 最后在临时文件夹tmp中创建0字节的临时文件auto.tmp
if

这个 \"&\"是后台运行的意思...就算出现错误应该也能运行下面一个!!!
判断语句
选项:
-f 常规文件 -L 符号文件
-r 文件可读 -w 文件可写
-x 文件可执行 -e 文件存在
-s 文件非空 -d 目录

!-:是没有
发表于 2009-12-9 14:27 | 显示全部楼层
宝贵的财富 学习了
发表于 2009-12-9 14:35 | 显示全部楼层
不错,建议和做个像鱼儿那样的教程系列,正好学习中~
发表于 2009-12-9 14:52 | 显示全部楼层
! -f/tmp/auto.tmp ;
这段的意思是如果当文件夹有还是查找指定文件夹中的文件?
如果当前文件夹中有的话,是不是可以不写这段命令
发表于 2009-12-9 15:08 | 显示全部楼层
不懂呀!!!!!!!
发表于 2009-12-9 15:16 | 显示全部楼层
[s:65] 回头有时间再研究
 楼主| 发表于 2009-12-9 16:31 | 显示全部楼层

回 4楼(如枫随风) 的帖子

if [ -f文件路径 ]是如果有文件
if [ -d 文件夹路径 ] 是如果有文件夹
if [!-f文件路径 ]是如果没有

这个是用来判断是否有此文件,,,,,来决定是否执行
if
脚本命令
fi
发表于 2009-12-9 22:10 | 显示全部楼层
夏,如果是这样这个怎么写啊,

if [! -d/mma/mmac1/.system/QTDownload/???]
then
showMsg "提示" "存储设备中没有安装MPKG文件!" 2
fi
if [! -d/mmc/mmac1/.system/QTDownload/???]
then
showRadio "提示" "请选择操作项:" $list
意思是如果在QTDownload没有文件夹那么的话....
如果有的话...
带问号那该怎么写?
发表于 2009-12-9 22:57 | 显示全部楼层
如果我是个程序高手~~ [s:63]
 楼主| 发表于 2009-12-9 23:02 | 显示全部楼层
应该这样.
#!/bin/sh

cd /mmc/mmca1/.system/QTDownload
list=$(ls)

if [ "$list" = "" ] ; then# 如果 list 等于 空
showMsg "显示" "没有MPKG文件" 2
exit
fi

showMsg "显示" "有MPKG文件" 2
exit
还有啊,兄弟以后路径不能写错啊...
万一rm 删除命令删错东西了,可惨了...
 Hello,黑武的好机友!回复想偷个懒?点这里: 
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|Archiver|手机版|爱黑武论坛 ( 京ICP备2023028323号 | 京公网安备11011202000270号 )

GMT+8, 2024-11-17 00:18 , Processed in 0.047606 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, ihei5.com

快速回复 返回顶部 返回列表