一 相关知识 1)默认地,标准的输入为键盘,但是也可以来自文件或管道(pipe |). 2)默认地,标准的输出为终端(terminal),但是也可以重定向到文件,管道或后引号(backquotes `). 3) 默认地,标准的错误输出到终端,但是也可以重定向到文件. 4)标准的输入,输出和错误输出分别表示为STDIN,STDOUT,STDERR,也可以用0,1,2来表示. 5)其实除了以上常用的3中文件描述符,还有3~9也可以作为文件描述符.3~9你可以认为是执行某个地方的文件描述符,常被用来作…
shell中$*与$@的区别 关于$* 和 $@的 一点 认识 同是菜鸟一起学习 $* 所有的位置参数,被作为一个单词. 注意:"$*"必须被""引用. $@ 与$*同义,但是每个参数都是一个独立的""引用字串,这就意味着参数被完整地传递, 并没有被解释和扩展.这也意味着,每个参数列表中的每个参数都被当成一个独立的 单词. 注意:"$@"必须被引用. $@ $* 只在被双引号包起来的时候才会有差异 双引号括起来的情况: $*将…
关于在shell脚本中数组变量中 “*”跟 “@” 区别 “*”当变量加上“” 会当成一串字符串处理. “@”变量加上“” 依然当做数组处理. 在没有加上“” 的情况下 效果是等效的. #!/bin/bash   array=(1 2 3) echo "case 1" for line in "${array[@]}" do echo $line done   echo "case 2" for line in "${array[*]}…
在Shell脚本中,往往会遇到一些判断类型为某个值不符合预期值的时候就退出主脚本/当前脚本/当前函数,那么Exit与return的用法与区别是什么呢? 下面先使用Exit举个简单例子,脚本内容如下 #!/bin/bash if [[ "$1" == "1" ]];then echo "your input is $1" else echo '退出' exit 0 fi echo '最后一句' 第一种执行方法: 使用Shell解析器进行调用,结果如…
1. linux命令返回值介绍 shell 在执行某个命令时,会有一个返回值,该值保存在shell变量$?中.当$?为0时,表示命令执行成功:当$?为1时,表示命令执行失败. 2. && 语法格式如下: command1 && command2 &&... command之间用&&连接,实现逻辑与功能 当&&左边的命令执行成功(command的返回值$?=0)时,&&右边的command才会被执行. 只要有一个…
http://blog.chinaunix.net/uid-14351756-id-2820651.html $( ) 与 ` ` (反引号)在 bash shell 中,$( ) 与 ` ` (反引号) 都是用来做命令替换用(command substitution)的. 所谓的命令替换与我们第五章学过的变量替换差不多,都是用来重组命令行:* 完成引号里的命令行,然后将其结果替换出来,再重组命令行.例如:[code]$ echo the last sunday is $(date -d "la…
shell中使用source conf.sh,是直接运行conf.sh的命令,不创建子shell,类似与html中include,而sh是则创建子shell, 子shell里面 的变量父shell无法使用,对环境变量的修改也不影响父shell.父shell中的局部变量,子shell也无法使用, 只有父shell的环境变量, 子shell能够使用.还有一个exec conf.sh,这个与source类似,区别是exec执行完,不再执行后面的语句.   source命令的作用就是用来执行一个脚本,那…
shell翻译成壳的意思,它是包裹在linux内核外层的,一个可通过一系列的linux命令对操作系统发出相关指令的人机界面. shell可以通过其条件语句和循环语句等,把一系列linux命令结合在一起,形成一个相当于面向过程的程序,shell script,来实现一些较为复杂的功能.总括,shell是linux命令集的概称,是属于命令行的人机界面.Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言.Shell 是指一种应用程序,这…
(1) 下面的语句从输入中读取n个字符并存入变量variable_name: read -n number_of_chars variable_name例如:[root@host1 shell]# read -n var [root@host1 shell]# echo $var [root@host1 shell]# read -n var a+[root@host1 shell]# echo $var a+ (2) 用无回显的方式读取密码: [root@host1 shell]# read…
shell 中的 && 和 || 简言之,shell 中 && --左边的命令执行成功才会执行右边的命令. || -- 左边的命令执行失败才会执行右边的命令.…