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)


相关推荐

  • hostapd学习「建议收藏」

    hostapd学习「建议收藏」hostapd简介工作模式 作用Master(AP) 成为无线接入点提供无线接入服务Managed(STA) 作为客户端连接其他无线接入点Monitor 监听附近所有无线流量Ad-hoc 多台计算机直接相连WiFi的几种模式hostapd能够使得无线网卡切换为master模式,模拟AP(通常可以认为是路由器)功能,也就是我们说的软AP(SoftAP)。hostapd的功能就是作

  • 达芬奇五年沉浮

    达芬奇五年沉浮达芬奇五年沉浮

  • html css 分页样式,css中分页样式

    html css 分页样式,css中分页样式css中分页样式css分页样式的设置,我们可以采用ul+li来实现,设置li标签float为left,让它们排列在一行,再设置li标签里面的a标签样式。具体实现如下:部分css代码解释#model14ul{padding-inline-start:0!important;/*设置ul的开头距离为零必面设置自动居中时影响美观*/}#model14li:first-child{mar…

  • 词向量模型(1)[通俗易懂]

    词向量模型(1)[通俗易懂]词向量模型one-hotVectorone-hotvector最简单的编码方式:假设我们的词库总共有n个词,那我们开一个1*n的高维向量,而每个词都会在某个索引index下取到1,其余位置全部都取值为0。问题这种词向量编码方式简单粗暴,我们将每一个词作为一个完全独立的个体来表达。遗憾的是,这种方式下,我们的词向量没办法给我们任何形式的词组相似性权衡。因为你开了一个极高维度的…

  • 行为动作识别

    行为动作识别随着计算机学科与人工智能的发展和应用,视频分析技术迅速兴起并得到了广泛关注。视频分析中的一个核心就是人体行为识别,行为识别的准确性和快速性将直接影响视频分析系统后续工作的结果。因此,如何提高视频中人体行为识别的准确性和快速性,已成为视频分析系统研究中的重点问题。目前,典型的视频人体行为识别方法主要有:时空兴趣点、密集轨迹等。其中:时空兴趣点,是通过检测视频中的角点、提取角点的特征进行人体行…

  • git第一次拉取远程代码_第一次从gitlab拉项目到本地

    git第一次拉取远程代码_第一次从gitlab拉项目到本地命令1、查看远程所有分支gitbranch-r#查看远程所有分支PSC:\Users\Lenovo\Desktop\tt\dc-biztable>gitbranch-rorigin/Developorigin/masterorigin/dev2、拉取远程分支到本地gitfetchorigin远程分支名:本地分支名这个远程分支名和本地分支名可以不一样,不过一般都会取一样的名字这样不容易混淆#拉取远程Develop分支到本地Develop

    2022年10月25日

发表回复

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

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