码迷,mamicode.com
首页 > 其他好文 > 详细

bash脚本编程之(1/4) 变量、变量类型等笔记

时间:2015-04-12 06:50:20      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:编程语言   export   解释器   编译器   local   

Shell编程:


编译器,解释器


编程语言: 机器语言、汇编语言、高级语言


静态语言: 编译型语言

强类型(变量)

事先转换成可执行格式

c\c++\JAVA\c#

动态语言: 解释性语言

弱类型

边解释边执行

asp/asp.net/php/shell/python/perl

Shell: 弱类型编程语言

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

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




面向过程: Shell C

面向对象: JAVA Python, perl, c++

变量:内存空间,命名

内存:编址的存储单元

进程:


变量类型: 事先确定数据的存储格式和长度

字符

数值

整形

浮点型

 

编程能力:

脚本编程

变量赋值: VAR_NAME=VALUE


bash变量类型:

环境变量

本地变量(局部变量)

位置变量

特殊变量

本地变量:

VAR_NAME=VALUE: 作用域为整个脚本进程:

局部变量:

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

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

export VARNAME=value

"导出"

两种方式:

1. export VARNAME=VALUE

2. VARNAME=VALUE

export VARNAME

位置变量

$1, $2, ...

特殊变量:

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

程序执行结果

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

0: 正确执行

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

输出重定向:

>

>>

2>

2>>

&> 重定向标准输出或错误输出至同一个文件


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

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



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

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

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


撤销变量: 

unset VARNAME  (千万不要加$)


查看当前shell中的变量

set(包括环境变量和本地变量)

查看当前shell中的环境变量:

printenv

env

export


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

shebang: 魔数

#!/bin/bash


练习:写一个脚本,完成以下任务

1. 添加5个用户,user1,user2,...user5

2. 每个用户的密码同用户名,而且要求,添加密码完成后不显示passwd命令的执行结果信息

3. 每个用户添加完成后,都要显示用户xx已经成功添加


练习:写一个脚本,完成以下任务

1. 使用一个变量保存一个用户名:

2. 删除此变量中的用户,且一并删除其家目录

3. 显示“用户删除完成”类的信息


本文出自 “Richier” 博客,请务必保留此出处http://richier.blog.51cto.com/1447532/1631396

bash脚本编程之(1/4) 变量、变量类型等笔记

标签:编程语言   export   解释器   编译器   local   

原文地址:http://richier.blog.51cto.com/1447532/1631396

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!