linux批处理

实现一个批处理命令脚本,实现把一个目录(例如media/disk)下的所有文件的文件名作为参数一个一个的传给一个update程序。该update程序在命令行接受参数,(例如【xxx@local ~】# update vdate.bin)

第1个回答  2012-07-20
那就写一个shell脚本
#!/bin/sh
for file in $(ls /media/disk)
do
if [ -f $file ] ;then
echo $file #这行可以改为你想要的步骤

fi

done

基本思路是这样的,不知道你说的传给update是什么意思追问

就是执行update file命令,一般情况下没有参数的话在命令行直接敲update就可,file是命令行参数,由int main(int argc,char**argv)来的。

本回答被提问者采纳
第2个回答  2012-07-20
这个可能需要shell编程了,大概思路是这样子的。
遍历改目录下全部文件夹,去掉. 和 ..。 获取文件名name,然后循环执行
update name
即可追问

您给写个框啊,我对shell编程仅限于知道几个命令。。。我会追加财富的哦亲,谢谢

本回答被网友采纳
第3个回答  2012-07-20
update接收目录参数,目录里面的所有文件名和目录名都传进去吗?追问

设计的是一个目录下只有一些文件,没有子目录,自动把所有文件一个一个的全部作为参数传进去

linux 下可以用批处理吗
Linux 下面没有批处理,只有脚本(Windows 也有脚本的哦,一般你就认为脚本就是批处理的高级版就行了)。不过脚本是和系统相关的,你这个脚本肯定需要移植重写。

linux批量执行的脚本linux批量脚本
linux下不是称为批处理,而是通过shell编写脚本来做的,而我们称这个脚本为可执行文件。Linux环境下,如何将某个文件夹下的文件批量重命名?Linux系统用一个简单的shell脚本批量实现修改文件夹(比如\/tmp)里面的文件名字,请参考如下 !\/usr\/bin\/bash if];then j=1 foriin$(ls\/tmp);do echorenameth...

linux shell脚本 批处理
在里面编写脚本 程序必须以下面的行开始(必须方在文件的第一行): #!\/bin\/sh符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中使用\/bin\/sh来执行程序。(能写一些shell普通命令,命令用分号隔开)例子:#! \/bin\/bash# shutdown pcsudo shutdown +1 执行方法(1)在控制台...

请问linux下有没有哪个命令能够仅对本文件夹中文件进行批处理,而不对...
从这种情况来看,最好是用find命令来查找,当然,考虑得更深一点,排除a目录与c目录的内容,只限定在b目录内。那find的的格式如下:(假设当前目录为a目录)find .\/ -maxdepth 2 -mindepth 2 -type f -print 这样就查找b目录中的文件了。那么整个的语法便为:find .\/ -maxdepth 2 -mindepth 2...

linux 下有批处理可以一次批量网络唤醒局域网的主机吗?
linux系统是开发系统无法做到 就算是脚本也无法做到 需要一种媒介 正常理解是给计算机下达命之后好多命令都是出于开机状态 如果计算机没有开机 是没有办法接收到linux所下达到的命令 linux 给中央控制系统下达命令 命令所有计算机开机 中间的媒介就是机器人 命令和空是对立的 有发送 就必须有对应的命名...

在Linux 中怎样实现类似 DOS 环境下的 AUTOEXEC.BAT 批处理功能?
将脚本添加到 \/etc\/rc.d\/rc.local 中即可。这是由 Linux 启动时的第一个进程 init 控制的。init 进程还可以自动启动 \/etc\/rc、\/etc\/rc.d、\/etc\/rc?.d 目录下的许多脚本文件。

如何实现linux的批处理telnet脚本
把ip地址保存为ip.txt 把cd \/tksys\/startup\/ sed -i '\/^ntpsvr=\/ s\/[^=]*$\/'`sed -n '\/^default=\/ s\/[^=]*=\/\/p' network.cfg`'\/' network.cfg 保存为2.txt cat ip.txt |while read line ;do telnet $line user password<2.txt ;done 就这样的思路 俺不懂没测试过...

linux下实现一个开机自动运行重启网络的批处理文件
先写一个脚本放在\/etc\/init.d下面,脚本名字叫network_restart.sh !\/bin\/bash case "$1" in start)sudo \/etc\/init.d\/networking restart ;;)exit 1 ;;esac exit 0 然后chmod 755 network_restart.sh 最后在shell中运行update-rc.d network_rstart.sh start 40 x .这里的x换成你的run level...

linux菜鸟求助sed的批处理中关于括号的问题
一般的情况,括号 ( ) 和 { } 前面都要加转义 \\,包括很多量词如 + 也要转义 可以使用 sed的 -r选项,就不用加转义了 -r :sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)

如何将大量的Linux安装命令使用批处理完成
就这几条命令还要脚本?你也恁地懒了些,linux shell已经可以按tab键匹配很多东西了,自己用vi建个文件,把你敲的命令全放进去,每行用;结尾,你可以用类似,history 20 >> filename 导出最后20条命令到一个文件,再其基础上添加;,";"的作用是检查上一条命令的退出状态,没有错误才执行下一条命令...

相似回答