1,$$:显示当前的进程id号

ghostwu@dev:~/linux/shell/how_to_use_var$ cat show_pid.sh
#!/bin/bash
echo $$
sleep
ghostwu@dev:~/linux/shell/how_to_use_var$ bash show_pid.sh &
[]
ghostwu@dev:~/linux/shell/how_to_use_var$ ghostwu@dev:~/linux/shell/how_to_use_var$ ps -ef | grep show_pid
ghostwu : pts/ :: bash show_pid.sh
ghostwu : pts/ :: grep --color=auto show_pid
ghostwu@dev:~/linux/shell/how_to_use_var$ ps -ef | grep show_pid | grep -v grep
ghostwu : pts/ :: bash show_pid.sh
ghostwu@dev:~/linux/shell/how_to_use_var$ kill
ghostwu@dev:~/linux/shell/how_to_use_var$ ps -ef | grep show_pid
ghostwu : pts/ :: grep --color=auto show_pid
[]+ Terminated bash show_pid.sh

2,(())用于整数的常用运算符

>把两个整数的运算结果赋值给一个变量,前面要加$

ghostwu@dev:~/linux/shell/how_to_use_var$ a=((+))
bash: syntax error near unexpected token `('
ghostwu@dev:~/linux/shell/how_to_use_var$ a=$((+))
ghostwu@dev:~/linux/shell/how_to_use_var$ echo $a

3,四则运算

ghostwu@dev:~/linux/shell/how_to_use_var$ bash calc.sh
a+b=
a-b=
a*b=
a/b=
a**b=
a%b=
ghostwu@dev:~/linux/shell/how_to_use_var$ cat calc.sh
#!/bin/bash
a=$
b=$
echo "a+b=$(($a+$b))"
echo "a-b=$(($a+$b))"
echo "a*b=$(($a+$b))"
echo "a/b=$(($a+$b))"
echo "a**b=$(($a**$b))"
echo "a%b=$(($a%$b))"

4,let用于整数运算,类似(())

ghostwu@dev:~/linux/shell/how_to_use_var$ i=
ghostwu@dev:~/linux/shell/how_to_use_var$ let i=i+
ghostwu@dev:~/linux/shell/how_to_use_var$ echo $i

不使用let,是不会计算变量的值

ghostwu@dev:~/linux/shell/how_to_use_var$ i=
ghostwu@dev:~/linux/shell/how_to_use_var$ i=i+
ghostwu@dev:~/linux/shell/how_to_use_var$ echo $i
i+

5,bash内置命令read,通过参数-p 提示信息,读入变量的值

ghostwu@dev:~/linux/std_err_out$ read -p "pls input 2 number:" a b
pls input number:
ghostwu@dev:~/linux/std_err_out$ echo $a $b

10,test -f 判断普通文件是否存在

ghostwu@dev:~/linux/std_err_out$ ls
ghostwu.txt output_error.txt std_out1.txt std_out.txt
ghostwu@dev:~/linux/std_err_out$ test -f ghostwu.txt && echo || echo ghostwu@dev:~/linux/std_err_out$ test -f ghostwu2.txt && echo || echo

test -z 测试字符串长度是否为0

ghostwu@dev:~/linux/std_err_out$ test -z "hello" && echo  || echo 

ghostwu@dev:~/linux/std_err_out$ test -z "" && echo  || echo

中括号[]与test一样.

ghostwu@dev:~/linux/std_err_out$ [ -f ghostwu.txt ] && echo  || echo 

ghostwu@dev:~/linux/std_err_out$ [ -f ghostwu2.txt ] && echo  || echo

11,判断一个变量值或者字符串是否为整数?

利用expr做计算时变量或者字符串必须是整数的规则,把一个变量或字符串和一个已知的整数(非0)相加,看命令返回的值是否为0。如果为0,就认为做加法的变量或字符串为整数,否则不是整数。

ghostwu@dev:~/linux/shell/flow_control$ i=
ghostwu@dev:~/linux/shell/flow_control$ expr $i + >/dev/null
ghostwu@dev:~/linux/shell/flow_control$ echo $? ghostwu@dev:~/linux/shell/flow_control$ i='a'
ghostwu@dev:~/linux/shell/flow_control$ expr $i + >/dev/null >&
ghostwu@dev:~/linux/shell/flow_control$ echo $?

最新文章

  1. 跟着百度学PHP[5]函数篇2-PHP中的特殊形式的函数
  2. 开发人员必读openstack网络基础
  3. Hive 安装配置
  4. 用CSS3实现上下左右箭头
  5. CSS样式设置记录
  6. Careercup - Facebook面试题 - 5177378863054848
  7. 分享一个jQuery动态网格布局插件:Masonry(转)
  8. 从XML文件中获取格式化的文本信息
  9. Entity Framework加载相关实体——延迟加载Lazy Loading、贪婪加载Eager Loading、显示加载Explicit Loading
  10. BZOJ 3876: [Ahoi2014]支线剧情 [上下界费用流]
  11. Web开发者の实用代码账簿
  12. MVC Controller return 格式分类及用法
  13. 前后端分离项目,标准json协议格式参考
  14. REACT map dictionary
  15. C++基础笔记(string截取)
  16. Let Encrypt延期(转自虞大胆的叽叽喳喳)
  17. Netty优雅退出机制和原理
  18. prop和state的区别
  19. MySQL的Sleep进程占用大量连接解决方法
  20. Android——菜单和进度条

热门文章

  1. Centos7部署Kubernetes集群
  2. Unix时间戳转日期时间格式,C#、Java、Python各语言实现!
  3. CPP之内存分配
  4. DataBrewery Cubes 连接Kylin
  5. 安装VS2017后打开项目提示 asp.net 4.0尚未web服务器注册
  6. [CocoaPods]使用Trunk进行设置
  7. jsp页面跳转页面的几中方式(同步更新)
  8. PHP画矩形,椭圆,圆,画椭圆弧 ,饼状图
  9. A Nice Paper About Mobile Data Offloading
  10. iOS开发笔记-Xcode添加pch文件