您现在的位置是:主页 > news > 移动端网站模板/百度贴吧首页
移动端网站模板/百度贴吧首页
admin2025/6/4 3:55:59【news】
简介移动端网站模板,百度贴吧首页,买一个域名大概多少钱,win7系统做网站服务器系统表 31.1. 通配符 * 匹配0个或多个任意字符 ? 匹配一个任意字符 [若干字符] 匹配方括号中任意一个字符的一次出现 $ ls /dev/ttyS* $ ls ch0?.doc $ ls ch0[0-2].doc $ ls ch[012][0-9].doc 注意,Globbing所匹配的文件名是由Shell展开的,也就是说在参数…
表 31.1. 通配符
* | 匹配0个或多个任意字符 |
? | 匹配一个任意字符 |
[若干字符] | 匹配方括号中任意一个字符的一次出现 |
$ ls /dev/ttyS* $ ls ch0?.doc $ ls ch0[0-2].doc $ ls ch[012][0-9].doc
注意,Globbing所匹配的文件名是由Shell展开的,也就是说在参数还没传给程序之前已经展开了,比如上述ls ch0[012].doc
命令,如果当前目录下有ch00.doc
和ch02.doc
,则传给ls
命令的参数实际上是这两个文件名,而不是一个匹配字符串。
3.3. 命令代换:`或 $() 请点评
由反引号括起来的也是一条命令,Shell先执行该命令,然后将输出结果立刻代换到当前命令行中。例如定义一个变量存放date
命令的输出:
$ DATE=`date` $ echo $DATE
命令代换也可以用$()
表示:
$ DATE=$(date)
3.4. 算术代换:$(()) 请点评
用于算术计算,$(())
中的Shell变量取值将转换成整数,例如:
$ VAR=45 $ echo $(($VAR+3))
$(())
中只能用+-*/和()运算符,并且只能做整数运算。
3.6. 单引号 请点评
和C语言不一样,Shell脚本中的单引号和双引号一样都是字符串的界定符(双引号下一节介绍),而不是字符的界定符。单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外,但是字符串中不能出现单引号。如果引号没有配对就输入回车,Shell会给出续行提示符,要求用户把引号配上对。例如:
$ echo '$SHELL' $SHELL $ echo 'ABC\(回车) > DE'(再按一次回车结束命令) ABC\ DE
3.7. 双引号 请点评
双引号用于保持引号内所有字符的字面值(回车也不例外),但以下情况除外:
-
$加变量名可以取变量的值
-
反引号仍表示命令替换
-
\$表示$的字面值
-
\`表示`的字面值
-
\"表示"的字面值
-
\\表示\的字面值
-
除以上情况之外,在其它字符前面的\无特殊含义,只表示字面值
$ echo "$SHELL" /bin/bash $ echo "`date`" Sun Apr 20 11:22:06 CEST 2003 $ echo "I'd say: \"Go for it\"" I'd say: "Go for it" $ echo "\"(回车) >"(再按一次回车结束命令) "$ echo "\\" \
Shell提供了一些用于调试脚本的选项,如下所示:
- -n
-
读一遍脚本中的命令但不执行,用于检查脚本中的语法错误
-v -
一边执行脚本,一边将执行过的脚本命令打印到标准错误输出
-x -
提供跟踪执行信息,将执行的每一条命令和结果依次打印出来
使用这些选项有三种方法,一是在命令行提供参数
$ sh -x ./script.sh
二是在脚本开头提供参数
#! /bin/sh -x
第三种方法是在脚本中用set命令启用或禁用参数
#! /bin/sh if [ -z "$1" ]; thenset -xecho "ERROR: Insufficient Args."exit 1set +x fi
set -x
和set +x
分别表示启用和禁用-x
参数,这样可以只对脚本中的某一段进行跟踪调试。