Shell脚本编程基础
本部分内容:
11.2创建shell脚本文件
在创建shell脚本文件时。必须在文件的第一行指定要使用的shell。其格式为:
#!/bin/bash
在通常的shell脚本中,#用作注释行,shell并不会处理shell脚本中的注释行,然而,shell脚本文件的第一行是个例外,#后面的感叹号会告诉shell用哪个shell来运行脚本(是的,你可以使用bash shell,同时还可以使用另一个shell来运行你的脚本)
在指定了shell之后,就可以在文件的每一行中输入命令,然后加一个回车符,之前提到过。注释可用#添加,例如:
$ vim test1
#!/bin/bash
#This script displays the date and who’s logged on
date
who
这就是脚本的所有内容,但是在运行新的脚本之前,还要做一些其他的事情,现在运行脚本,结果可能会叫你有点失望。
因为在创建文件的时候,umask的值决定了新文件的默认权限设置,所以系统创建的文件只有文件只有文件属主和属组才有度/写权限
通过chmod命令赋予文件属主执行文件的权限。
chmod +x test1
./test1
执行后就会成功!
11.3显示消息
echo命令后面加上了一个字符串,该命令就能显示这个文本字符串。
默认情况下不需要引号将要显示的文本字符划定出来,但有时在字符串出现引号的话比较麻烦了
echo命令可用单引号或双引号来划定文本字符串,如果在字符串中用到了他们,你需要在文本中使用其中一种引号,而用另外一种来将字符串划定起来。
所有的引号就可以正常输出了
#!/bin/bash
echo “let’s see who’s logged into the system:”
who
可以进行执行脚本
如果想把文本字符串和命令输出显示在同一行,该怎么办?
可以用echo语句的-n参数
echo -n “the time and date are:”
返回上一条命令的状态码:
echo $?
懒得打了。说几个if语句:
if command
then
commands
fi
-------------------------------
if command
then
commands
else
commands
fi
------------------------------
if command1
then
commands
elif command2
then
commands
fi
可以更进一步:
if command1
then
commands
elif command2
then
commands
else
commands
fi