~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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