快速业务通道

Shell及变量

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-31

BASH融合了:ksh,csh 并避免其缺陷

编程语言:
1.脚本语言:
以源程序的方式存在,执行前不需要编译,
而靠一个解释器执行
为何简便,但执行效率差
bash,perl, python, ruby, php
perl最晦涩 python面向对象语法严格
2.编译型语言:
编辑——>编译——>连接——>运行
1、静态组合 2、动态组合
执行效率高,但维护复杂
c, c ,-接近硬件底层
BASH常用命令:
1、命令行编辑
快捷键: Ctrl a ;直接跳到命令行首
Ctrl e ;行尾
Ctrl u ;删除从光标到行首
Ctrl k :删除从光标到行尾
Ctrl 箭头 :跳一个单词

2、文件名统配
通配符:
*:表示任意长度的任意字符 例:ls * ; ls *.log
?: 任意单个字符 例 : ls ?.log
[]:指定范围内的任意单个字符, [a-z] [abc]
例: ls [abc].log
[^abc], ^:表示取反 不包括abc
[a-zA-z0-9]指定字符范围
[:keyword:] : [:lower:],[:upper:],[:punct:],
[:space:],[:alpha:].[:alnum:][:digit:]-(数字)
man 7 glob :可以上查看所有
[^[:alpha:]] :: "^"表示取反

3、命令补全和路径补全
命令补全:
echo $PATH 定义的路径下找到命令进行补全.
路径补全:
指定的路径下

4、命令行展开
~ :展开为对应用户的家目录
cd ~到家目录
{}:展开多条路径
mkdir -pv x/{y,z/{1,2}}
mkdir -pv {x,y}_{1,2} 多项展开 拥有帝国一切,皆有可能。欢迎访问phome.net

5、命令展开/命令扩展
$():意义同下
`` 反引号: 把一个命令的执行结果当成一个命令的
对象来使用
例: mkdir #(date" %Y-%m-%d-%H-%M-%S")
ls -l `which passwd`

脚本::命令的堆砌
bash脚本:
编写:
#!/bin/bash , (-称为shabang)
#

DIR=`/tmp/scrips2`
mkdir -v $DIR
unset DIR (施放变量)

除第一行"#"外 其他为注释
脚本中变量: 脚本执行完施放脚本中所有变量.
脚本的执行: 要有执行权限 (当前目录下输入./''脚本名'' 或输入 bash ''脚本名'')

脚本的调试: bash -n ''脚本名'' 用于检查是否有语法错误.

bash -x ''脚本名'' 用于跟踪脚本执行的过程.

变量:命名的内存空间 通常只对当前shell有效

变量引用:"" 用双引号引用
"" : 为弱引用 touch "a b" 可以进行变量替换.
'''' :为强引用 touch ''$ab'' 不会进行变量替换.
"\ "避免被解释 例: 显示"contentquot; 使用"\contentquot;.
bash,变量不需要声明,变量不区分类型,默认字符串型,不能直接参与数学运算.
例: 变量名=“string”
set 变量名=“string”
unset 变量名

定义变量:
NAME=Jerry
echo $NAME 显示变量值
echo ${NAME} 标准格式
echo:
-n :不显示换行符
-e :转义符

man echo 中有详细介绍

1、变量分为本地变量/局部变量
2、环境变量 对当前shell 对子shell都有效,可在shell中打开子shell
export,导出一个变量 拥有帝国一切,皆有可能。欢迎访问phome.net
export A=3 := : A=3 export A
查看:
export,显示当前所有变量 declare,声明变量
DISPLY,定义显示
HISTSIZE,历史命令保存条数
HOME,定义当前用户的家目录
PATH,

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号