OS随笔1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11月5日:
1.獲取字符串長度:
length=${#var}
例如:
$ var=123456789
$ echo ${#var}
? 9
2.檢查是否為超級用戶
?UID 是一個重要的環境變量,可以用于檢查當前腳本是以超級用戶還是以普通用戶的身份運行。例如:
if? [?$UID -ne 0?]; then
echo Non root user.Please run as root.
else
echo "Root user"
fi
3.修改Bash提示字符串(username@hostname:~$)
當我們打開一個終端或是運行一個shell,都會看到類似于user@hostname:/home/$的提示字符串。不通GNU/LINUX發行版中的提示及顏色略有不同。我們可以利用PS1環境變量來定制提示文本。默認的shell提示文本在文件~/.bashrc中的某一行設置的。
···· 可以使用如下命令列出設置PS1的那一行:
??cat ~/.bashrc | grep PS1 或者
echo $PS1
[\u@\H \W]\$
如果要設置提示字符串,可以輸入:
PS1="PROMPT>"
?
4. 通過shell 進行數學運算
在bash shell環境中,可以利用let、(())和[ ] 執行基本的算術操作。而在進行高級操作時,expr和bc這兩個工具也非常有用。
? #! /bin/bash
no1=4
no2=5
let result=no1+no2
echo $result
自增操作:
let? no1++
自減操作:
?let no1--
簡寫形式:
let no1+=6
let no1-=6
分別等同于: let no=no+6 和 let no =no-6
?其他方法:
操作符[]的使用方法和let命令類似:
result=$[?no1+no2 ]
在[]中也可以使用$前綴,例如:
result=$[?$no1 + 5?]
也可以時候用(()):
result =$ ((?no1 +50?))
expr 同樣可以用于基本算術操作:
result =`expr 3+4`
result=$(expr $no1 +5)
以上這些方法只能用于證書運算,而不支持浮點數。
bc是一個用于數學運算的高級工具,這個精密計算器包含了大量的選項。我們可以借助它執行浮點數運算并應用一些高級函數:
echo “ 4 * 0.56” | bc
2.24
?
no=54;
result=`echo "$no * 1.5"` |bc `
echo $result
81.0
其他參數可以置于要執行的具體操作之前,同時以分號作為定界符,通過stdin傳遞給bc。
設定小數精度(數值范圍):在下面的例子中,參數scale=2將小數位個數設置為2.因此,bc將會輸出包含兩個小數位的數值。
echo “scale=2;3/8” |bc
0.37
進制轉換:用bc可以將一種進制系統轉換為另一種。來看看如何將十進制轉換為二進制,然后再將二進制轉換為十進制:
#!/bin/bash
no=100
echo "obase=2;$no" |bc
1100100
no=1100100
echo "obase =10;ibase=2;$no"|bc
100
計算算術平方及平方根:
echo “sqrt(100)‘ | bc
echo "10^10" | bc
?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11月6日:
1.?? 0-------標準輸入? 1----------標準輸出??? 2-----------標準錯誤
?? 將標準錯誤stderr轉換成stdout,是的stderr和stdout都重定向到同一個文件中:
?? cmd 2>&1 output.txt
?? cmd &> output.txt
?
?
?
?
?
?
轉載于:https://blog.51cto.com/aixuexi/1050512
總結
- 上一篇: Vim配置文件(全平台可用)2012-0
- 下一篇: 为什么要将对象序列化