shell指令碼計算輸入引數的的平均值
方法一:
#!/bin/bash
[ $# -ne 1 ] && exit #判斷引數個數
[ "$1" -le 0 ] && exit #判斷引數合法性
sum=0
for (( i=1;i<=$1;i=i+1 ))
do
read -p "Input number #$i: " num[$i]
sum=$((sum+num[$i]))
done
average=$((sum/$1))
echo "sum: $sum"
echo "average: $average"
方法二:
#!/bin/bash echo "請輸入所要計算的數字,數字之間用空格分開" read num_string echo $num_string len=0 sum=0 for i in $num_string do #echo $i len=$((len + 1)) sum=$((sum + i)) done #echo $len #echo $sum echo "scale=2;${sum}/${len}"|bc
相關推薦
shell指令碼計算輸入引數的的平均值
方法一: #!/bin/bash [ $# -ne 1 ] && exit #判斷引數個數 [ "$1" -le 0 ] && exit #判斷引數合法性 sum=0 for (( i=1;i<=$1;i=i+1 )) do read -p "Inp
Linux shell指令碼 自動輸入提示資訊或回車進行下一步操作
1.應用場景 有的時候執行安裝或操作第三方軟體時,需要輸入Yes 或者回車 才能進行下一步 例如操作sqlite [[email protected] sh]# sqlite3 anhui.db SQLite version 3.6.20 Enter ".help" fo
shell指令碼的那點小事兒--shell指令碼語言輸入輸出與檔案操作(三)
內容一:檔案包含 在shell指令碼中匯入其他shell指令碼 語法1: ./filename 這裡./filename相當於執行了filename指令碼 檔案A->fileA.sh #!/bin/bash echo "我是檔案A" 檔案B->fileB.sh
shell指令碼迴圈讀取引數,檔案批量重新命名
for ana in para do do something for ana done 其實就是for in,很簡單。 以下是修改當前檔名的例項,在檔名前加上H265字首: #!/bin/bash for file in `ls *` do mv $fil
Linux學習2之shell指令碼計算程式碼段執行的時間(精確到毫秒)
簡潔且成功的程式碼: [email protected]:~/cloud/adam/xubo/data/test20160310/test$ cat a.sh #!/bin/bash startTime=`date +"%s.%N"` #bwa aln .
shell指令碼使用者輸入處理——shell程式設計學習_七
使用者輸入處理在Linux作業系統中,使用者輸入一般分為兩類:命令列引數 這是在命令啟動時將資料傳遞,命令列引數形式一般包括:命令、選項、引數 選項用來定義使用者的行為 引數用來向命令傳遞特定的資料如:[[email protected] input]# ls
shell指令碼 函式傳遞引數
在一個指令碼中,多個函式之間可能需要相互傳遞引數,之前一直對引數的傳遞以及引用有些疑問,今天做了幾個小測試例子 1、#!/bin/bash function f1(){ local param1=$1 echo "f1"$param1 f2 $param1 }
shell 指令碼 輸入引數 學習
特殊變數 一般變數比較簡單哈,與Java、C/C++不一樣的地方在於不需要定義,直接使用即可。 例如: #!/bin/bash var= "wojiushimogui" echo ${var} 需要注意的兩點: 1、變數和等號之間不能有空格。 2、使用
shell 指令碼程式設計學習(二) 變數,使用者輸入,引數
前面已經說過,shell 指令碼幾乎就是一組儲存下來的 shell 命令。掌握了格式和執行方法之後我們已經可以使用指令碼來幫助完成工作了。但相較於平時一行行地敲命令,指令碼還是有一些特別之處讓我們可以實現更強大的功能。 變數 在單行敲 shell 命令時我們
shell指令碼之判斷輸入引數是否為整數值
在寫指令碼時,通常會有很多關於命令列引數,變數等的判斷其是否存在或者型別是否正確。當判斷一個從命令列接收到一個值,需要判斷其是否為整型值時,有以下兩種方法: 1.用shell命令使其與某個整型值進行計算,通過$?來判斷其是否是
Linux系統下編寫shell指令碼傳入引數列印系統當前執行緒數到指定檔案
最近在做效能測試,要檢視系統執行過程中執行緒數,很簡單輸入命令:netstat -anp |grep java |wc -l,可以查詢。但是如何在執行過程定時列印系統執行緒數且將結果輸出到指定檔案呢?也很簡單我們直接寫一個shell指令碼執行下就可以了。以
shell指令碼使用之awk按列求平均值(含最大,最小值)
使用Linux命令的awk工具 delay_avg.sh指令碼內容如下所示: #!/bin/sh RESPONSEFILE=$1 if [ $# -ne 1 ] then echo "usage: ./delay_avg.sh na
計算程式碼行數的shell指令碼
用來統計程式碼行數的一個shell指令碼 不過只支援 ./ ./dir ./dir/dir 三級目錄 有需要的簡單可以用一下 #! /bin/bash #程式碼書行數統計指令碼,只支援兩級目錄 all_count=0; #全部行數統計 file_co
shell指令碼中計算時間差
1. 獲取開始、結束時間(獲取當前時間) timer_start=`date "+%Y-%m-%d %H:%M:%S"` timer_end=`date "+%Y-%m-%d %H:%M:%S"` 2. 計算時間差 duration=`echo eval $(($(date
解決 shell指令碼中SCP命令需要輸入密碼的問題
本文轉自:https://blog.csdn.net/u012454773/article/details/72779439 使用金鑰檔案,兩臺機器建立信任 這裡假設主機A(192.168.100.3)用來獲得主機B(192.168.100.4)的檔案。 在主機A上執行如下命令來生成配對金鑰:
Shell指令碼中計算字串長度的幾種方法
1:wc -L wc -l (小寫)是獲取當前字串內容的行數,wc -L (大寫)可以獲取到當前行的長度,因此對於單獨行的字串可以用這個簡單的方法獲取。 $ str="123.?+ abc" $ echo "$str" |wc -L 10 2: expr lengt
如何在shell指令碼中實現 scp 檔案的時候不手動輸入密碼
在shell指令碼中實現 scp 檔案的時候不手動輸入密碼的指令碼如下: #!/usr/bin/expect -f set password 密碼 spawn scp 使用者名稱@目標機器ip:拷貝檔案的路徑 存放本地檔案的路徑 set timeout 300
shell指令碼專家指南筆記#5_接受命令列選項_開關_引數
## # 本文為《shell指令碼專家指南》一書的學習筆記。 ## 5.接受命令列選項_開關_引數 原文示例有兩部分值得借鑑的內容: 1. app的目錄佈局; 2. getopts的用法。 app的目錄佈局  
Linux "編寫一個shell指令碼,讓使用者輸入某個目錄名/使用者名稱,先判斷輸入名稱是否存在且是個目錄名稱"及其變式
(3)shell指令碼,提示使用者輸入一個使用者名稱,如果存在;顯示使用者UID和SHELL資訊;否則,則顯示無此使用者;顯示完成之後,提示使用者再次輸入;如果是quit則退出 https://www.cnblogs.com/wangyuebo/p/5836
Linux Shell 程式設計 迴圈控制 條件控制 輸入引數等
1. 傳入指令碼引數 $# 是傳給指令碼的引數個數 $0 是指令碼本身的名字 $1是傳遞給該shell指令碼的第一個引數 $2是傳遞給該shell指令碼的第二個引數 [email protected] 是傳給指令碼的所有引數的列表 2. 建立一個新檔案