Bash学习笔记01 : 赋值和运算

1 变量: 赋值为$ 取值有$

var1=10
var2=$var1
echo $var2
注意赋值时变量,等号,值之间不能有空格


2 反引号:将shell命令的输出赋给变量

testing=`date`
echo $testing


3 重定向 

3.1 输出重定向

将命令的输出 重定向到文件,重定向的文件若不存在则直接创建 

结合date 可以有这样的用法

testing=`date +%y%m%d%H%M%S`
echo "hello~~~" > log.$testing

可以生成 log.140221111309  这样的文件


还有一种是追加 重定向

echo "hi" >>log.140221111309

不会覆盖原来的值,加在文件中原来的值后面


重定向到 /dev/null 是丢弃该消息

还可以这样

1>   表示将标准输出重定向 

2>   表示将错误输出重定向


若想把标准输出重定向到错误输出 使用 1> &2


3.2 输入重定向

wc < test1 

<表示数据流入的方向


内联输入重定向

wc <<EOF

a1

a2 

a3

EOF



4 管道

前一条命令的输出作为后一条命令的输入

管道可以完成重定向两条命令完成的工作

如 

rpm -qa > rpm.list

sort < rmp.list 

管道不需要中间文件 ,只需要 rpm-qa | sort

我一般比较喜欢用 

ps -elf | grep "想要的搜索词"

ls -l | more

等等


5 整数运算

5.1 expr

expr 只能进行整数运算   + - * / % 匹配等

比如 expr 1 + 2  ,符号两侧之间需要有空格

expr 2 \* 3  乘法则要这样写

在脚本中有变量接收需要使用`号  

var3=`expr 2 \* 3`


5.2  更好的写法

使用$[1+2] 这种写法,不用在意空格问题,也不用在意乘号

 var4=$[($var3+5)*2] 

但是要注意的是 $[] 也只支持整数运算 


还有种写法和它功能一样是 $((1+2)) 双括号


6 浮点数运算

var5=`echo "scale=4; $var4/$var3" | bc`

多条语句在一行用分号隔开,scale是指浮点运算位数


使用内联重定向来

var6=`bc << EOF

scale=4

a1=2*3

a2=$var3-2

a1+a2

EOF

`










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值