shell脚本编程基础

2022-11-21 17:36:55 浏览数 (1)

Shell脚本编程基础 本部分内容: 11.2创建shell脚本文件 在创建shell脚本文件时。必须在文件的第一行指定要使用的shell。其格式为:

代码语言:javascript复制
#!/bin/bash

在通常的shell脚本中,#用作注释行,shell并不会处理shell脚本中的注释行,然而,shell脚本文件的第一行是个例外,#后面的感叹号会告诉shell用哪个shell来运行脚本(是的,你可以使用bash shell,同时还可以使用另一个shell来运行你的脚本) 在指定了shell之后,就可以在文件的每一行中输入命令,然后加一个回车符,之前提到过。注释可用#添加,例如:

代码语言:javascript复制
$ vim test1
#!/bin/bash
#This script displays the date and who’s logged on
date
who

这就是脚本的所有内容,但是在运行新的脚本之前,还要做一些其他的事情,现在运行脚本,结果可能会叫你有点失望。 因为在创建文件的时候,umask的值决定了新文件的默认权限设置,所以系统创建的文件只有文件只有文件属主和属组才有度/写权限 通过chmod命令赋予文件属主执行文件的权限。

代码语言:javascript复制
chmod  x test1
./test1

执行后就会成功!

11.3显示消息 echo命令后面加上了一个字符串,该命令就能显示这个文本字符串。 默认情况下不需要引号将要显示的文本字符划定出来,但有时在字符串出现引号的话比较麻烦了 echo命令可用单引号或双引号来划定文本字符串,如果在字符串中用到了他们,你需要在文本中使用其中一种引号,而用另外一种来将字符串划定起来。 所有的引号就可以正常输出了

代码语言:javascript复制
#!/bin/bash
echo “let’s see who’s logged into the system:”
who

可以进行执行脚本 如果想把文本字符串和命令输出显示在同一行,该怎么办? 可以用echo语句的-n参数

代码语言:javascript复制
echo -n “the time and date are:”

返回上一条命令的状态码:

代码语言:javascript复制
echo $?

懒得打了。说几个if语句:

代码语言:javascript复制
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

0 人点赞