echo命令:
雙引號中不能放入shell中起作用的字元,如 !,!用來執行歷史命令中的某一條,如 !30 表示執行第三十條命令:
例子詳解:
echo 「hello world!」檢視某個程序的環境變數:echo -e 「1\t2\t3」
echo 『$path』
單引號,裡面的字元字面輸出,不會進行變數替換
cat /proc/$pid/environ如:
cat /proc/215/environ變數賦值cat /proc/$pid/environ | tr 『\0』 『\n』
var=「value」export宣告了將由子程序繼承的乙個或多個變數,執行這個命令後,當前shell腳步執行的任何應用程式都能獲得這個變數,如:echo $var
echo &
數**算:
#!/bin/bash
no1=4
no2=5
let result=no1+no2
echo $result
let no1++
let no2--
echo $[ no1 + no2 ]
echo $[ $no1 + $no2 ]
let no1+=6
let no2-=5
echo $(( no1 + no2 ))
result=`expr 3 + 4`
echo $
result=$(expr $no1 + 5)
echo $result
輸入輸出重定向:
ls /root > cmd.log 2>&1tee命令,輸出內容到檔案和stdout:ls /root &> cmd.log 2
ls /root | tee root.log/dev/null會丟棄接收到的任何資料:cat -n test.txt | tee test.log
cat -n test.txt2 | tee -a test.log # -a ,用於追加內容
ls /root > /dev/null & 2>&1重定向指令碼的檔案塊:
cat this is the content i want to input!alias的使用eof
alias執行非別名命令:alias install=『sudo apt install』
echo 』 alias install=「sudo apt install」 』 >> ~/.bashrc
\ls 讓ls使用最原始的定義來執行
date -s 『2019-06-04 17:40:35』timedatectl set-time 「yyyy-mm-dd hh:mm:ss」
ntpdate -s ntpserver.com
clock -w
hwclock -w
#!/bin/bash
start=`date +%s`
sleep 6
end=`date +%s`
echo hehe=$((end-$start))
[root@localhost ~]# date +%f-%t
2019-06-04-21:39:43
CMake呼叫shell腳步
最近使用cmake編譯專案,其中需要使用第三方庫,但是每次在不同電腦上編譯時需要手動編譯第三方庫十分麻煩,因此,我寫了乙個shell腳步來編譯第三方庫,同時希望在cmake編譯時自動呼叫這個腳步編譯第三方庫。有了思路,就需要看cmake如何呼叫shell命令了。cmake可以通過execute pr...
shell腳步部署 zabbix服務
bin bash echo 關閉防火牆,selinux systemctl stop firewalld setenforce 0 dev null echo 同步系統時間 ntpdate pool.ntp.org echo 寫入阿里yum源 安裝mysql,zabbix echo 正在安裝mysq...
Shell腳步之監控iostat資料
在效能測試中,進行iostat監控資料顯示太不美觀,看起來很痛苦,如下圖 為了顯示美觀,寫個shell指令碼進行改造,如下 bin bash interval 1 if gt 0 then interval 1 fiwhile true do iostat k sleep interval done...