您的位置:首页 > 运维架构 > Shell

详解shell脚本(一)——基础篇上

2018-02-23 22:40 225 查看
用shell进行数学运算

在Bash shell环境中,可以利用let、(( ))和[]执行基本的算术操作。而在进行高级操作时,expr和bc这两个工具也会非常有用。

#!/bin/bash
no1=4;
no2=5;
let result=no1+no2
echo $result
let no+=6
#使用[]
result=$[ no1 + no2 ]
result=$[ $no1 + 5 ]
#也可以使用(()),但是使用时,变量名前需要加上$
result=$(( no1 + 50 ))
#expr
result=`expr 3 + 4`
result=$(expr $no1 + 5)
#这些方法只能用做整数运算,而不支持浮点数。

echo "4 * 0.56" | bc

no=54;
result=`echo "$no * 1.5" | bc`
echo $resulte
#设定小数精度。
echo "scale=2;3/8" | 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 #Square root
echo "10^10" | bc #Square


设置颜色输出

echo -e "\e[1;31m this is red text \e[0m"

echo -e "\e[1;42m green background \e[0m"


\e[1;31将颜色设为红色,\e[0m将颜色重新置回。只需要将31替换成想要的颜色码就可以了

环境变量

假设有一个叫gedit的应用程序正在运行。我们可以用pgrep命令获得gedit的进程ID:

pgrep gedit
12501

cat /proc/12501/environ
#用tr 把\0 替换为\n
cat /proc/12501/environ | tr '\0' '\n'


环境变量是未在当前进程中定义,而从父进程中继承而来的变量 。例如环境变量HTTP_PROXY,它定义了互联网连接应该使用哪个代理服务器。

#该环境变量通常被设置成:
HTTP_PROXY=192.168.1.23:3128
export HTTP_PROXY


export命令用来设置环境变量。至此之后,从当前shell脚本执行的任何应用程序都会继承这个变量。我们可以按照自己的需要,在执行的应用程序或者shell脚本中导出特定的变量。在默认情况下,有很多标准环境变量可供shell使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell Linux