1. 什么是脚本语言(脚本):
脚本语言是像剧本一样教计算机办某个事情的语言。
是短小的、用来让计算机自动化完成一系列工作的程序,这类程序可以用文本编辑器修改,不需要编译,通常是解释运行的。
2. (linux)下 source、sh、bash、./ 执行脚本的区别是什么?
①. source命令用法:
source Filname |
作用:在当前 bash 环境下读取并执行 FileName 中的命令。该 filename 文件可以无 "执行权限"。
注:该命令通常用命令 . 来替代。
② sh、bash的命令用法:
sh Filname bash Filname |
作用:打开一个子 shell 来读取并执行 FileName 中命令。该 filename 文件可以无 "执行权限"。
注:运行一个shell脚本时会启动另一个命令解释器。
2018/04/11
1. linux中$# $* $?等符号的意义
$# 是传给脚本的参数个数(提供到shell脚本或者函数的参数总数) $0是脚本本身的名字 $1是传递给该shell脚本的第一个参数 $2是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个 $$ 是脚本运行的当前进程ID号 $? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误 |
例子:
#判断sshpass命令是否安装,若果没有安装则进行安装 sshpass if [ $? -ne 0 ];then cd deploy tar xvzf sshpass-1.05.tar.gz cd sshpass-1.05 ./configure make make install cd ../.. sshpass if [ $? -ne 0 ];then exit $? fi fi |
参考网址: http://www.cnblogs.com/kaituorensheng/p/4002697.html |
2. /dev/null与>/dev/null 2>&1
/dev/null null是一个名叫null小桶的东西,如果命令的输出不想要即想丢弃输出的内容,既不想在标准输出与不想重定向到某个文件,就可将命令的输出重定向到/dev/null。这样做的好处是不会因为输出的内容过多而导致文件大小不断的增加。 |
command >/dev/null的作用是将是command命令的标准输出丢弃,而标准错误输出还是在屏幕上。 一般来讲标准输出和标准错误输出都是屏幕,因此错误信息还是会在屏幕上输出。这时可以用command >/dev/null 2>&1 这样标准输出与标准错误输出都会被丢弃。1表示标准输出,2表示标准错误输出,2>&1表示将标准错误输出重定向到标准输出。 >表示输出重定向,如果 command > /usr/log 那其会覆盖log中原来的记录。可以使用>>输出重定向来向文件尾部增加输出记录。 |
注意:>这个重定向会覆盖定向到的文件,>>这个重定向不会覆盖会在定向到的文件追加。
参考网址:https://blog.csdn.net/jackyechina/article/details/52815415
3.linux管道符(|)的作用:
作用:将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。 |
例子:
eg1.利用一个管道
# rpm -qa|grep licq
这条命令使用一个管道符“|”建立了一个管道。管道将rpm -qa命令的输出(包括系统中所有安装的RPM包)作为grep命令的输入,从而列出带有licq字符的RPM包来。
eg2.利用多个管道
# cat /etc/passwd | grep /bin/bash | wc -l
这条命令使用了两个管道,利用第一个管道将cat命令(显示passwd文件的内容)的输出送给grep命令,grep命令找出含有“/bin /bash”的所有行;第二个管道将grep的输出送给wc命令,wc命令统计出输入中的行数。这个命令的功能在于找出系统中有多少个用户使用bas