❶ 一个shell脚本 怎么执行多条命令
#cat canshu.txt # 这个文件里放你的第3 4 参数
xx3 xx4
下面这个脚本先for 读出你的参数,然后依次拼成命令执行调用
#!/bin/sh
for canshu in `cat canshu.txt`
do
canshu3=`echo $canshu|awk '{print $1}'`
canshu4=`echo $canshu|awk '{print $2}'`
sh a.sh 20131201 20131231 $canshu3 $canshu4
done
❷ shell无法执行for循环多行命令
默认的情况下,Shell脚本中的命令是串行执行的,必须等到前一条命令执行完后才执行接下来的命令。shell循环中指令正常使用也是串行的,不过可以使用后台并行执行命令的方法实现并行操作;
例如:
(1)、串行实例:
#!/bin/bash
for(( i = 0; i < ${count}; i++ ))
do
echo commands1
done
(2)、并行实例:
#!/bin/bash
for(( i = 0; i < ${count}; i++ ))
do
{
echo commands1
}&
done
实质就是将操作指令作为后台进程在执行,这样主进程就不用等待前面的命令执行完毕之后才开始执行接下来的命令,实现并行的效果;自己领会咯。
❸ shell 读取文件指定单行 多行 连续行 倒数几行
三种方法
1、tail -n +/-数字 文件名
2、head -n 数字 文件名
3、sed -n "开始行,结束行p" 文件名
下面分别介绍这几种方法
cd 到要文件所在目录。cd到要查看指定行数内容的文件所在目录,本文以SpecialVariable.sh文件为例 , cd /home/test/shell/ , 如下图
tail -n +/-数字 文件名
tail -n -数字 文件名,表示查看文件的最后几行,比如查看SpecialVariable.sh的最后5行,
如下图
tail -n +数字 文件名
tail -n +数字 文件名,表示查看文件的某一行到最后一行,比如查看SpecialVariable.sh的第3行到最后一行 ,
如下图
head -n 数字 文件名,表示查看文件前几行的内容,比如查看SpecialVariable.sh的前3行内容,
如下图
读取文件列表倒数2行
sed -n "开始行,结束行p" 文件名,表示查看文件的开始行到结束行的内容,
如下图
接分号,表示打印特定行,如下命令只会打印出第一行与第十行
接逗号,表达连续的行娄,如下命令打印出第一行到第十行
如下命令打印1~5行与第9行.
❹ shell编程可以在if中写多行命令语句吗
可以,命令之间用分号隔开。