1. shell 脚本语言的数学运算
------------------整数运算
------let
no1=4;
no2=5;
let result=no1+no2;
echo $result;
自增长
let no1++ / no1--
------[]
result2=$[no1 + no2];
echo $result2;
------$(())
result_3=$((no1+no2))
echo $result_3
------expr
result_4=$(expr $no1 + $no2)
echo $result_4;
-------------------浮点运算
echo "0.56 *$no1" |bc
--设定小精度 scale
echo "scale=4;3.09/8"|bc 0.3862
echo "scale=2;3.09/8"|bc 0.38
--进制转换 obase
echo "obase=2;$no1"|bc 100
-- 计算平方及平方根
echo "sqrt($no1)" |bc
echo "10^10"|bc
----------------------------wenjian----------
echo "hello how are you1" > out.txt 替换
echo "hello how are you1" >> out.txt 追加
ls + 2>err.txt 将错误输出重定向到err.txt 中
cmd 2>err.txt 1>out.txt
a1 a2 a3 存在 a4不存在
ll a1 a4 2>>out.txt 1>>err.txt
/dev/null 黑洞 丢垃圾文件
将数据重定向到文本
如 错误信息 2> 作为标准错误流重定向err.txt
正常输出数据 1> 作为标准的输出流重定向到out.txt
tee 除了将数据重定向到文件 还将数据的副本作为 下一次的输入
ll a1 a4 |tee out.txt 1>err.txt
tee 只能将正常的数据作为输入 err不行
echo who is this|tee - >out.txt
将 who is this 重定向到标准输出流 同时重定向到文件
--------------输入重定向
cat>catfile <test.sh
#cat 从test.sh 获得输入数据,然后输出给文件catfile
-----------------
cat > catfile
testing
cat file test
#这里按下 [ctrl]+d 离开
#从标准输入【键盘】获得数据,然后输出给catfile文件
--------------
[chengmo@centos5 shell]$ cat>catfile <<eof
test a file
test!
eof
#<< 这个连续两个小符号, 他代表的是『结束的输入字符』的意思。这样当空行输入eof字符,输入自动结束,不用ctrl+D
------------------整数运算
------let
no1=4;
no2=5;
let result=no1+no2;
echo $result;
自增长
let no1++ / no1--
------[]
result2=$[no1 + no2];
echo $result2;
------$(())
result_3=$((no1+no2))
echo $result_3
------expr
result_4=$(expr $no1 + $no2)
echo $result_4;
-------------------浮点运算
echo "0.56 *$no1" |bc
--设定小精度 scale
echo "scale=4;3.09/8"|bc 0.3862
echo "scale=2;3.09/8"|bc 0.38
--进制转换 obase
echo "obase=2;$no1"|bc 100
-- 计算平方及平方根
echo "sqrt($no1)" |bc
echo "10^10"|bc
----------------------------wenjian----------
echo "hello how are you1" > out.txt 替换
echo "hello how are you1" >> out.txt 追加
ls + 2>err.txt 将错误输出重定向到err.txt 中
cmd 2>err.txt 1>out.txt
a1 a2 a3 存在 a4不存在
ll a1 a4 2>>out.txt 1>>err.txt
/dev/null 黑洞 丢垃圾文件
将数据重定向到文本
如 错误信息 2> 作为标准错误流重定向err.txt
正常输出数据 1> 作为标准的输出流重定向到out.txt
tee 除了将数据重定向到文件 还将数据的副本作为 下一次的输入
ll a1 a4 |tee out.txt 1>err.txt
tee 只能将正常的数据作为输入 err不行
echo who is this|tee - >out.txt
将 who is this 重定向到标准输出流 同时重定向到文件
--------------输入重定向
cat>catfile <test.sh
#cat 从test.sh 获得输入数据,然后输出给文件catfile
-----------------
cat > catfile
testing
cat file test
#这里按下 [ctrl]+d 离开
#从标准输入【键盘】获得数据,然后输出给catfile文件
--------------
[chengmo@centos5 shell]$ cat>catfile <<eof
test a file
test!
eof
#<< 这个连续两个小符号, 他代表的是『结束的输入字符』的意思。这样当空行输入eof字符,输入自动结束,不用ctrl+D