一、井号 #
1、在脚本文件中对一行进行注释。
2、在引号和\符号后不是注释,只是#号本身:
echo "12 # hehe"
echo '12 # hehe'
echo 12 \# hehe
3、参数替代
echo $(PATH#*:)
4、进制数转换
echo $((16#a));将十六进制数a转换为十进制数表示出来
echo $((5#3));将5进制数3转换为十进制数表示出来
5、模式匹配
echo ${#string};获得变量string所含字符的个数,如果string是个数组,则获得数组第一个元素所含字符个数。
二、分号 ;
1、分割符,在同一行中用分号可以隔开两个命令:
ls;cat hello
2、在引号和\符号后不是分割符,只是;号本身。
三、;;
1、两个分号,作为case选项的终结符:
case "$variable" in
abc) echo "$variable = abc" ;;
xyz) echo "$variable = xyz" ;;
esac
四、句号 .
1、点开头的文件是隐藏文件,要用ls -a才能看到。
2、一个点指代当前目录,两个点指代上级目录。
五、引号
1、双引号 ""
双引号中的大多数字母或符号都代表它本身
2、单引号 ”
单引号中的所有字母或符号都代表它本身
六、逗号 ,
逗号用于分开多个算术表达式,对每个表达式都进行计算,但仅仅返回最后一个表达式的值。
let "t = (a = 9,5+3)"#该表达式中,对a赋值为9,计算出来t为8
七、反斜杠 \
\号表示后面的符号仅仅代表该符号本身,但只有一位有效。比如
\a就和'a'一个效果
八、正斜杠 /
1、文件名分割符,如
/usr/locale/share/
2、除法符号
九、反引号 `
命令取代?
十、冒号 :
1、空命令,返回值为0,和true命令一样,可以在做无限循环的条件。
2、提醒后面有一个二进制命令需要执行
: ${username = `whoami`}#如果没有:则该行会出错
3、参数取代?
: ${HOSTNAME?}
4、与>重定向符号一起创建一个文件(如果没有),或者截断一个文件(该文件已存在),该文件的长度为0
: > data.exe 和cat /dev/null > data.exe效果相同
5、与>>重定向符号一起更新一个文件的访问及修改时间,如果没有该文件,则创建之。和touch功效相同
注意,4、5两条都仅对规则文件起作用,对管道,软连接以及一些特殊文件都没有用
6、域分割符
如$PATH变量中间的冒号
十一、感叹号 !
1、非号,把退出状态变成由0变成1,由等于变成不等 = ,!=
2、间接变量参考?
3、两个感叹号表示上一个命令 !!
十二、星号 *
1、通配符,可以在正则表达式中代替任何字符或者数字
2、乘号
3、两个星号表示指数 **
十三、问号 ?
1、测试符号,用于条件测试?
2、通配符,可以在正则表达式中代替一个字符或者数字
十四、$
1、变量符号
2、表示一行的终止
3、${}变量取代
4、$1,$2,$3等等,指从命令行向脚本输入的第一个,第二个,第三个参数。$0指脚本本身。
5、$#,指从命令行向脚本输入的参数个数。
6、$*,指从命令行向脚本输入的所有参数,但是看成一个词。
7、$@,指从命令行向脚本输入的所有参数,但是每个参数是根据IFS变量分开的。
比如:export IFS=':',再echo $PATH,得到的结果是:/usr/local/sbin /usr/sbin /sbin /usr/local/bin /usr/bin /bin /usr/games /usr/lib/apache-ant/bin /usr/lib/java/bin /usr/lib/java/jre/bin /usr/lib/qt/bin /usr/share/texmf/bin
8、$?,退出状态变量。
9、$$,进程的ID号码。
十五、圆括号 ()
1、命令组
(a = 123;echo $a)
该命令组写了一个子脚本,子脚本中的变量对子脚本外的一切脚本均不可见。
2、数组初始化
array = (element1 element2 element3)
十六、大括号 {}
1、括号扩展?比如
grep linux file*.{txt,htm*}
在file2.txt,file1.htm,file1.html等文件中查找linux字符串
2、代码块,作为子函数,不能用于终端中,子函数中的变量对其他脚本还是可见的。
3、代码块中的函数可以进行输入输出重定向。
{
read line1
read line2
} < /etc/fstab
shell中$#、$0、$@的含义
QUOTE:
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[15889 0] ; cat foo.sh
#!/bin/bash
echo "script name : $0"
echo "# of arguments: $#"
echo "all arguments : $@"
echo "arguments in order:"
for sArg in "$@"; do
echo " $sArg"
done
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[15889 0] ; ./foo.sh aa bb cc
script name : ./foo.sh
# of arguments: 3
all arguments : aa bb cc
arguments in order:
aa
bb
cc
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[15889 0] ; ./foo.sh aa "bb cc" dd
script name : ./foo.sh
# of arguments: 3
all arguments : aa bb cc dd
arguments in order:
aa
bb cc
dd
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[15889 0] ; bye
$n 这个程式的第n个参数值,n=1..9
$* 这个程式的所有参数
$# 这个程式的参数个数
$$ 这个程式的PID
$! 执行上一个背景指令的PID
$? 执行上一个指令的返回值
相关推荐
对shell中特殊符号熟知,有利于shell编程应用,此文档几乎涵盖了shell中所有特殊符号的功能介绍和使用方法。
第四部分 基础shell编程 第16章 shell脚本介绍 151 16.1 使用shell脚本的原因 151 16.2 脚本内容 151 16.3 运行一段脚本 152 16.4 小结 153 第17章 条件测试 154 17.1 测试文件状态 154 17.2 测试时使用逻辑操作符 ...
Linux运维-3.Shell编程-11shell基础-106shell特殊符号2.avi
Linux运维-3.Shell编程-11shell基础-105shell特殊符号1.avi
第四部分 基础shell编程 第16章 shell脚本介绍 151 16.1 使用shell脚本的原因 151 16.2 脚本内容 151 16.3 运行一段脚本 152 16.4 小结 153 第17章 条件测试 154 17.1 测试文件状态 154 17.2 测试时使用逻辑操作符 ...
变量: 变量的赋值和引用 在shell编程中变量没有类型,简称弱类型编程语言,不需要声明,在引用这个变量时会创建它(在变量名前加$符号引用变量的值)。在定义变量时,若String中包含空格、制表符、换行符,需用单...
本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell ...
本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell...
• 6 Shell里的一些特殊符号 o 6.1 引号 o 6.2 Here documents • 7 Shell里的函数 • 8 命令行参数 • 9 Shell脚本示例 o 9.1 一般编程步骤 o 9.2 二进制到十进制的转换 o 9.3 文件循环拷贝 • 10 脚本...
任务2.3 特殊符号 72 任务2.4 Shell案例:显示系统信息: 78 练习(每题12.5分,共计100分) 80 项目三 Shell传递参数 81 [学习目标] 81 任务3.1 Shell传递参数 82 任务3.2 Shell案例:参数比较 85 任务3.3Shell案例...
本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...
前 言第1章 如何才能学好Shell编程 / 11.1 为什么要学习Shell编程 / 11.2 学好Shell编程所需的基础知识 / 11.3 如何才能学好Shell编程之“老鸟”经验谈 / 31.4 学完本书后可以达到何种Shell编程高度 / 5第2章...
shell字符串比较、判断是否为数字 二元比较操作符,比较变量或者比较数字。注意数字与字符串的区别。 整数比较 -eq 等于,如:if [ “$a” -eq “$b” ] -ne 不等于,如:if [ “$a” -ne “$b” ] -gt 大于,如:if [ “$...
本文由TinyLab.org原创。 这里只是个人学习笔记,主要包括Shell概述、Shell变量、位置参数、特殊符号、别名、各种控制语句、函数等Shell编程知识。
linux shell编程 教程大全 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 ...
Shell编程基础,包括变量赋值和引用、流程控制、特殊符号和shell函数等
前言 第一部分 shell 第1章 文件安全与权限 1 ...第五部分 高级shell编程技巧 第25章 深入讨论<< 281 25.1 快速创建一个文件 281 25.2 快速创建打印文档 281 25.3 自动选择菜单 282 25.4 自动...
本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...
本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell...