shell脚本编程基础

shell脚本编程基础

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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/101952.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python random randint_Python random.randint方法代码示例[通俗易懂]

    本文整理汇总了Python中numpy.random.randint方法的典型用法代码示例。如果您正苦于以下问题:Pythonrandom.randint方法的具体用法?Pythonrandom.randint怎么用?Pythonrandom.randint使用的例子?那么恭喜您,这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在模块numpy.random的用法示例…

  • 当你想进行简单性能测试监控的时候应该如何选择监控命令?「建议收藏」

    当你想进行简单性能测试监控的时候应该如何选择监控命令?「建议收藏」当你想进行简单性能测试监控的时候应该如何选择监控命令?

  • #转载 基于C#通过OPC UA/DA访问PLC学习网站

    #转载 基于C#通过OPC UA/DA访问PLC学习网站#转载#基于C#通过OPCUA/DA访问PLC学习网站今年刚入职的新手,第一次接触OPCUA、OPCDA、C#、PLC,全靠各种百度,经过一个多星期的摸索,基本算是刚入门吧,下面把学习过程中收藏的一些实用的文章和大家分享一下,绝对可以让你少走很多弯路。1.C#读写opcua服务器,浏览所有节点,读写节点,读历史数据,调用方法,订阅,批量订阅操作-dathlin2.C#OPCUA服务器OPCUA网关三菱西门子欧姆龙Modbus转OPCUA服务器可配置的OPCUA服务器网

    2022年10月18日
  • 页面优化——重绘和回流[通俗易懂]

    页面优化——重绘和回流[通俗易懂]一、写在前面页面优化在面试的过程中经常遇到的问题,今天就来总计一下重绘和回流的问题。二、重绘和回流是什么我们都知道一个页面从加载到完成,首先是构建DOM树,然后根据DOM节点进行几何布局形成render树(渲染树),当渲染树构建完成后,页面就根据DOM树开始布局,渲染树也根据设置的样式渲染这些节点。在这一过程中,比如我们删除DOM节点,修改一个元素的宽高,页面布局发生变化,DOM树也发生变化,那么肯定要重新构建DOm树,而DOM树和渲染树紧密相连,DOM树渲染完了,渲染树也会随之进行渲染,这个过程就

    2022年10月28日
  • heap和stack区别Java_Java中Heap与Stack的区别

    heap和stack区别Java_Java中Heap与Stack的区别1)Heap是Stack的一个子集.——扩展—>从内存观点考虑。优化2)Stack存取速度仅次于寄存器,存储效率比heap高,可共享存储数据,可是其中数据的大小和生存期必须在运行前肯定。spa3)Heap是运行时可动态分配的数据区,从速度看比Stack慢,Heap里面的数据不共享,大小和生存期均可以在运行时再肯定。指针4)new关键字是运行时在Heap里面建立对象,每ne…

    2022年10月24日
  • 用WAP手机远程遥控电脑

    用WAP手机远程遥控电脑

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号