❶ 一個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中寫多行命令語句嗎
可以,命令之間用分號隔開。