在linux中,shell的意思是对你在终端中打出来的命令进行解释,并翻译的一个工具,shell的脚本有很多,像是bash,dash很多,在这些脚本中,存储着很多的命令,
在shell编程中,特殊字符有很多,例如:
通配符*?[ ] !
他们分别表示任意字符,单个字符,在{ asd }里面只要有一个就可以,!与[ ]正相反
""双引号表示字符,里面如果有可执行的命令就执行完命令在输出字符
在一个终端里,可以直接aaa=bbb定义一个变量,变量名为aaa,值为bbb,不过这个变量只在这个终端中有效,在另外的终端无效(shell编程中,变量不分类型)想引用这个变量,在变量名前面加上$
\转义字符,跟在转义字符后面的特殊字符,会失去这个特殊字符的意义,变成一个单纯的字符
输入输出重定义
重定义,我认为就是改变返回的位置,而输入输出的重定义,也就是改变输入和输出的位置,同样,也有错误重定义,也就是把输入,输出,错误信息返回到一个指定的位置,这样有几个好处,1当你作为一个程序员,你希望看到程序反馈的错误信息,但是用户并不想看到,所以你应该改变错误的定义,让他输出到一个制定的文件夹或者是显示屏上
输入输出错误代码,分别是012符号表示分别是<>其中&>表示错误和输出一起重定义 可以在离开电脑的时候监控定时任务运行情况(crontab)
null空设备,当你想清空一个文件时,把这个文件移动到null中,就会直接清空文件
ctrl加z停止进程&把进程放到后台进行fg唤醒后台进程
命令1;命令2分头进行两个命令
.sh即为shell脚本,.sh\文件执行shell脚本
在shell中,变量分为环境变量和临时变量,环境变量是整体有效,不随着脚本的删除而不存在,临时变量则相反
shell编程是一种弱类型的编程语言,因为shell不分变量类型
[ ]表示数组,在shell编程中,[]里必须空出两个空格,原因不明
$01234表示位置参数,每个命令都有自己的参数和位置参数,-xxx就是命令的参数
shell脚本中,read表示从键盘接受值作为下面变量的值
下面是shell编程中if语句的样式
if{ }#表示满足{ }内的语句时#
if{ }; then[ ]
elif[ ]
fi
表示执行then后面的语句
否则执行elif里面的语句.
fi结束