shell编程Tips

作者: Galory | 来源:发表于2019-04-16 16:48 被阅读0次

#!是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行。echo命令用于向窗口输出文本。

#!/bin/bash
echo "Hello World !"

执行shell脚本的方法:
先把编辑好的脚本保存为一个以.sh结尾的文件,比如hello.sh,然后切换到相应的目录,执行下边的语句赋予hello.sh执行权限。

chmod +x ./hello.sh  #使脚本具有执行权限

然后就可以在命令行里输入下边的命令运行该脚本:

./hello.sh  #执行脚本

Shell 支持以下三种定义变量的方式:

variable=value
variable='value'
variable="value"

需要注意的是,赋值号的周围不能有空格

使用一个定义过的变量,只要在变量名前面加美元符号$即可,如:

name="Tom"
echo $name
echo ${name}

单引号和双引号的区别:

#!/bin/bash
url="variables"
variable1='变量1:${url}'
variable2="变量2:${url}"
echo $variable1
echo $variable2

运行结果:

变量1:${url}
变量2:variables

会发现,以单引号' '包围变量的值时,单引号里面是什么就输出什么,即使内容中有变量和命令(命令需要反引起来 反引号是``而不是这个 '')也会把它们原样输出。这种方式比较适合定义显示纯字符串的情况,即不希望解析变量、命令等的场景。

以双引号" "包围变量的值时,输出时会先解析里面的变量和命令,而不是把双引号中的变量名和命令原样输出。这种方式比较适合字符串中附带有变量和命令并且想将其解析后再输出的变量定义。

建议:如果变量的内容是数字,那么可以不加引号;如果真的需要原样输出就加单引号;其他没有特别要求的字符串等最好都加上双引号,定义变量时加双引号是最常见的使用场景。


Shell 也支持将命令的执行结果赋值给变量,常见的有以下两种方式:

variable=`command`
variable=$(command)

第一种方式把命令用反引号包围起来,反引号和单引号非常相似,容易产生混淆,所以不推荐使用这种方式;第二种方式把命令用$()包围起来,区分更加明显,所以推荐使用这种方式。

参考链接:http://c.biancheng.net/cpp/view/6999.html
20190416


更新:
学习链接:
https://fsl.fmrib.ox.ac.uk/fslcourse/lectures/scripting/
https://warwick.ac.uk/fac/sci/statistics/staff/academic-research/nichols/scripts/bash/Life_in_a_Shell-2017.pdf


pwd:print working directory
cd:change directory
ls: list files

image.png image.png image.png image.png image.png image.png image.png image.png

如何处理文件名中包含空格的情况?

  • 使用反斜杠\ 比如:cd /to/My\ Programs/Desktop,这里My与Programs之间有一个空格
  • 用单引号或双引号把包含空格的字符串引起来,比如cd '/to/My Programs/Desktop'

相关文章

  • shell编程Tips

    #!是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行。echo命令用于向窗口输出文本。 执行shell脚本...

  • shell 案例

    Shell编程一 Shell防范ARP攻击 Shell编程二 Shell防范DDos攻击 Shell编程三 ...

  • shell 第一天

    shell编程初识 1.1 shell编程初识 shell的定义 Shell 是命令解释器 Shell 也是...

  • 78.shell编程

    shell编程 Shell脚本,是一种为shell编写的脚本程序。 Shell编程跟JavaScript、Pyth...

  • 2019-01-25

    Linux系统Shell编程指南 前言 适合人群:有类似C编程基础的人 一、Shell编程介绍 Shell解释型语...

  • Shell Tips

    观书有会意处,题其衣裳,以记其事~ 1. CMD 输出打印行数 2. 分割输出,每个一行 3. 正则表达式提取 I...

  • day 28

    shell编程基础 shell编程一小时光速入门web集群架构会用到shell编程基础 1、为什么要学shell编...

  • Shell使用技巧和常用命令

    shell usage tips ctrl + wdelete a word before cursor ctrl...

  • Shell 编程的 Hello World

    什么是 Shell?简单来说,Shell 编程是对 Linux 命令的逻辑化处理。 来看看 Shell 编程是如何...

  • Shell 编程的 Hello World

    什么是 Shell?简单来说,Shell 编程是对 Linux 命令的逻辑化处理。 来看看 Shell 编程是如何...

网友评论

    本文标题:shell编程Tips

    本文链接:https://www.haomeiwen.com/subject/tievwqtx.html