原文:http://blog.51cto.com/woyaoxuelinux/1863045

shell: 弱类型编程语言

强:变量在使用前,必须事先声明,甚至还需要初始化;

弱:变量用时声明,甚至不区分类型;

变量赋值:VAR_NAME=VALUE

bash变量类型:

环境变量

本地变量(局部变量)

位置变量

特殊变量

本地变量:

set VARNAME=VALUE: 作用域为整个bash进程;

局部变量:

local VARNAME=VALUE:作用域为当前代码段;

环境变量:作用域为当前shell进程及其子进程;

export VARNAME=VALUE

VARNAME=VALUE

export VARNAME

“导出”

位置变量:

$0,$1, $2, ...  $0表示命令本身,$1表示第一个参数,依次类推$3表示第三个参数

shift n 轮替,n表示数字 把后面第n个参数轮替到第一个参数

eg: vim shift.sh

#!/bin/bash

#

echo $1

shift 2

echo $1

shift 2

echo $1

./shift.sh 1 2 3 4 5

[root@xuelinux test]# ./shift.sh 1 2 3 4 5

1

3

5

特殊变量:

$?: 上一个命令的执行状态返回值;

$#: 参数的个数

$*: 参数列表

$@: 参数列表

程序执行,可能有两类返回值:

程序执行结果

程序状态返回代码(0-255)

0: 正确执行

1-255:错误执行,1,2,127系统预留;

输出重定向:

> 输出覆盖重定向

>> 输出追加重定向

2> 错误输出覆盖重定向

2>>错误输出追加重定向

&> 正确错误输出重定向

撤消变量:

unset VARNAME VARNAME是变量名

查看当shell中变量:

set VARNAME 不过set可以省略 VARNAME是变量名

查看当前shell中的环境变量命令如下:

printenv

env

export

脚本:命令的堆砌,按实际需要,结合命令流程控制机制实现的源程序

shebang: 魔数

#!/bin/bash

# 注释行,不执行

/dev/null: 软件设备, bit bucket,数据黑洞

脚本在执行时会启动一个子shell进程;

命令行中启动的脚本会继承当前shell环境变量;

系统自动执行的脚本(非命令行启动)就需要自我定义需要各环境变量;

最新文章

  1. 用JMeter测试monggodb的请求
  2. Tween Animation----Alpha渐变透明度动画
  3. Spring MVC静态资源处理(转)
  4. VS2013_QT255开发相关技巧理解心得
  5. JS案例之7——瀑布流布局(2)
  6. 【Java】如何检测、替换4个字节的utf-8编码(此范围编码包含emoji表情)
  7. 导入excel 数据到mysql出现的时间格式
  8. zabbix client安装配置执行
  9. C# winForm里窗体嵌套
  10. 工作流Jpbm4.4工作流知识点总结(工作流开发宝典)
  11. python学习之字符串(上)
  12. CentOS 7 校对时间 修改时区
  13. qt 如何安装 Debuggers 调试器 ?
  14. ORACLE_11G归档空间满,由于数据库装完后使用的是默认空间是闪回区
  15. 【2】JVM-JAVA对象的访问
  16. flume 整合kafka
  17. Calendar介绍
  18. python-对于mysql数据库的操作
  19. centos配置ssh免密码登录后,仍提示输入密码
  20. 【POJ】1830 开关问题(高斯消元)

热门文章

  1. 编写高质量代码改善C#程序的157个建议——建议116:避免用非对称算法加密文件
  2. delphi Table切换控件顺序问题
  3. .net 可选参数和命名参数
  4. uwsgi启动Django项目时:unable to load app 0 (mountpoint='') (callable not found or import error) *** no app loaded. going in full dynamic mode ***
  5. WEB应用从服务器主动推送的方法
  6. sql添加列,删除列,修改列
  7. c# winform实现同时只允许账号在一台电脑登录的功能
  8. wpf Route Event Code Snippet
  9. 使用SQL Delta.v5.1.1.98.破解版同步数据结构
  10. MVC ASP.NET MVC5使用Area区域