Shell学习(二)入门到复杂 脚本实例(计算器)
副标题[/!--empirenews.page--] shell文件开头 shell文件必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。 当编辑好脚本时,如果要执行该脚本,还必须使其可执行。 要使脚本可执行: 运行chmod +x filename这atch样才能用./filename 来运行 注释 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。 变量 在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明,直接赋值就可以,应用变量的话,用$+变量名的形式。 要赋值给一个变量,您可以这样写: a="hello world" 现在打印变量a的内容: echo "A is:" echo $a 有时候变量名很容易与其他文字混淆,比如: num=2 echo "this is the $numnd" 这并不会打印出"this is the 2nd",而仅仅打印"this is the ",因为shell会去搜索变量numnd的值, 但是这个变量时没有值的。可以使用花括号来告诉shell我们要打印的是num变量: num=2 echo "this is the ${num}nd" 这将打印: this is the 2nd 环境变量 .由export关键字处理过的变量叫做环境变量。我们不对环境变量进行讨论,因为通常情况下仅仅在登录 脚本中使用环境变量。 管道(|): 将一个命令的输出作为另外一个命令的输入。 grep "hello" file.txt | wc -l 在file.txt中搜索包含有”hello”的行并计算其行数。 在这里grep命令的输出作为wc命令的输入。当然您可以使用多个命令。 重定向:将命令的结果输出到文件,而不是标准输出(屏幕)。 >写入文件并覆盖旧文件 >>加到文件的尾部,保留旧文件内容。 反短斜线 使用反短斜线("`")可以将一个命令的输出作为另外一个命令的一个命令行参数。 数值变量: expr 变量1 运算符 变量2 [运算符 变量3] +加法运算 -减法运算 *乘法运算 %求模运算 相除后的余数 预定义变量是由bash程序预先定义好的一类特殊变量,用户只能使用而不能创建新的预定义变量,也不能直接为预定义变量赋值。常见预定义变量如下: $#表示命令行中位置参数的个数 $*表示所有位置参数的内容 $?表示前一条命令执行后的返回状态,返回为0表示执行正确,任何非0表示运行出现异常 $0表示当前执行的脚本或程序名称 (编辑:佛山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |