Linux基礎:Shell指令碼入門
阿新 • • 發佈:2018-11-03
Shell 指令碼(shell script),是一種為 shell 編寫的指令碼程式,業界所說的 shell 通常都是指 shell 指令碼。(區分於shell,shell 和 shell script 是兩個不同的概念。Shell 是一個用 C 語言編寫的程式,它是使用者使用 Linux 的橋樑。Shell 既是一種命令語言,又是一種程式設計語言。使用者通過Shell這種應用程式提供的介面來訪問作業系統核心的服務)
Shell指令碼程式設計常用例子
#/bin/bash
threadCount=`cat count`;
topic=`cat topic`
#echo $topic
#訪問檔案中每行的資料
for redis in $(cat redis.list); do
echo $redis
host=`echo $redis | awk -F ":" '{print $1}'`
port=`echo $redis | awk -F ":" '{print $2}'`
#echo $host
#echo $port
#shell for迴圈
#for i in {1..50}; do
for (( index=0; index<$threadCount; index++ )); do
queueName=hehe-haha-$topic -2.2.2.223-$index
queueName2=hehe-haha-$topic-2.2.2.223-$index
#echo $queueName
result=`redis-cli -h $host -p $port zcard $queueName`
#echo $result
# shell if判斷
if [ "$result" != "0" ]; then
echo "redis: $redis queue: $queueName length is $result "
zrangeResult=`redis-cli -h $host -p $port zrange $queueName 0 -1 withscores`
echo $zrangeResult
#shell中的字串按照空格分割存到陣列中
#array=(${zrangeResult})
# 陣列的長度
#num=${#array[@]}
#for ((i=0; i<num;)); do
# value=${array[i]}
# i=$((i+1))
# score=${array[i]}
# i=$((i+1))
# redis-cli -h $host -p $port zadd $queueName2 $score $value
#done
fi
done
done
學習資料:
1.https://blog.csdn.net/china1000/article/details/45675863
2.https://www.jb51.net/article/28514.htm