#!/bin/bash
read -p "input os_version : " os_version
if [ "$os_version" = "7.3" ];then
cat >/etc/aaa <<-eof #就是講下面的內容寫到/etc/aaa中
name=cj
passwd=cj
eofelif ["$os_version" = "6.4" ];then
cat >/etc/bbb <<-eof
name=gx
passwd=gx
eoffi
#!/bin/bash
ifs=$'\n' #按換行分割
for i in `cat ./bbb`
do echo $i
done
for 變數名 [ in 取值列表 ]
do迴圈體
done
for ((初值;條件;步長))
do迴圈體
done
for i `seq 1 2 100`
doecho $i
done
寫乙個是shell指令碼,判斷tmp下是否存在普通檔案aa.txt,檔案存在則輸出檔案詳細資訊,檔案不存在則建立檔案
#!/bin/bash
if [ -f ./aa.txt ];then
cat ./aa.txt
else
>./aa.txt
fi~
#!/bin/bash
>ip.txt
for i in
do & #放在後台
done
wait #等待上面都執行完,下面的才會執行
echo "finished...."
time pingtest.sh 統計程式與執行時間
[root@tianyun scripts]# cat user.txt
zhuzhu1 111
yang1 222
zhang2 333
#!/bin/bash
if [ $# -eq 0 ];then
echo "引數不能為0"
exit 1
fiif [ ! -f $1 ];then
echo "error file"
exit 2
fi#按回車分割
ifs=$'\n'
for line in `cat $1`
do user=`echo "$line" | awk -f"\t" ''`
pass=`echo "$line" | awk -f"\t" ''`
id $user &>/dev/null
if [ $? -eq 0 ];then
echo "user $user already exists"
else
useradd $user
echo "$pass" | passwd --stdin $user &>/dev/null
if [ $? -eq 0 ];then
echo "$user is created."
fifidone
#!/bin/bash
#!/bin/bash
for ip in `cat ip.txt`
do &
done
wait
echo "finished...."
while read user
do useradd $user
done < $1
#!/bin/bash
ip=10.18.42.127
until ping -c1 -w1 $ip &>/dev/null
do sleep 1 #如果ping不通就執行do
done
echo "$ip is up"
#!/bin/bash
thread=5
tmp_fifofile=/tmp/$$.fifo
mkfifo $tmp_fifofile
exec 8<> $tmp_fifofile
rm $tmp_fifofile
for i in `seq $thread`
do echo >&8
done
for i in
do read -u 8
& #放在後台
done
wait #等待上面都執行完,下面的才會執行
echo "finished...."
Shell指令碼併發及併發數的控制
正常情況下,shell指令碼是序列執行的,一條命令執行完才會執行接下來的命令。如下 bin bash for i in seq 1 10 do echo i done echo end 指令碼執行的結果如下 123 4567 8910 end echo 1命令序列執行,如果命令耗時較長導致總時間較長...
shell指令碼併發控制詳解
file descriptors fd,檔案描述符或檔案控制代碼 程序使用檔案描述符來管理開啟的檔案 檢視當前程序的fd 確定以下三點 如何exec開啟乙個檔案 exec 3 file1.txt 如何exec關閉乙個檔案 釋放檔案控制代碼 如果沒有釋放控制代碼,檔案刪除後描述符依然還在 exec 3...
shell指令碼 for迴圈
迴圈語句 while對於要求控制迴圈次數 操作物件按數字順序編號,按特定條件執行重複操作。重複測試某個條件時,只要條件成立就會反覆執行 無限 除非強制終止,或者exit語句退出指令碼 for迴圈語句 需要指定乙個變數以及可以取值的取值列表,針對每乙個不同的取值執行相同的命令序列,直到變數值用盡,退出...