Shell脚本学习记录(常见指令)

news2024/11/20 22:40:41

Shell echo命令

Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:

echo string

1.显示普通字符串:

echo "It is a test" //双引号省略效果相同

2.显示转义字符

echo "\"It is a test\""

3.显示变量

read 命令(类似C语言的scanf)从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量

#!/bin/bash


read cmd
echo "${cmd} It is a test"

4.显示换行

#!/bin/bash

echo -e "OK! \n"      # -e开启转义
echo "It is a test"

 5.显示不换行

#!/bin/sh
echo -e "OK! \c" # -e 开启转义 \c 不换行
echo "It is a test"

6.显示结果定向至文件

echo "It is a test" > myfile

 

7.原样输出字符串,不进行转义或取变量(用单引号)

echo '$name\"'

 8.显示命令执行结果

echo `date`

注意: 这里使用的是反引号 `, 而不是单引号 '。

结果将显示当前日期

 Shell printf 命令

printf 由 POSIX 标准所定义,因此使用 printf 的脚本比使用 echo 移植性好。

printf 使用引用文本或空格分隔的参数,外面可以在 printf 中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。默认的 printf 不会像 echo 自动添加换行符,我们可以手动添加 \n。

printf 命令的语法:

printf  format-string  [arguments...]

参数说明:

  • format-string: 为格式控制字符串
  • arguments: 为参数列表。
echo "Hello, Shell"
Hello, Shell

printf "Hello, Shell\n"
Hello, Shell

高级用法

#!/bin/bash
#print用法

printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg
printf "%-10s %-8s %-4.2f\n" 小明 男 66
printf "%-10s %-8s %-4.2f\n" 小峰 男 77
printf "%-10s %-8s %-4.2f\n" 小红 女 41

%s %c %d %f 都是格式替代符,%s 输出一个字符串,%d 整型输出,%c 输出一个字符,%f 输出实数,以小数形式输出。

%-10s 指一个宽度为 10 个字符(- 表示左对齐,没有则表示右对齐),任何字符都会被显示在 10 个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。

%-4.2f 指格式化为小数,其中 .2 指保留2位小数。

 

 

printf 的转义序列

 Shell test

Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。

#!/bin/bash
#print用法

num1=100
num2=100;
if test $[num1] -eq $[num2]
then
        echo '两个数相等!'
else
        echo '两个数不等!'
fi

代码中的 [] 执行基本的算数运算

 字符串测试

 文件测试

另外,Shell 还提供了与( -a )、或( -o )、非( ! )三个逻辑操作符用于将测试条件连接起来,其优先级为: ! 最高, -a 次之, -o 最低。 

参考:Shell test 命令 | 菜鸟教程 (runoob.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/632778.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python取出字典中键名对应的值

Python取出字典中键名对应的值 作为一个有10年Python编程经验的工程师,我经常遇到需要从字典中取出键名对应的值的情况。在这篇文章中,我将介绍Python中几种不同的方法来执行这个任务,并提供有关每个方法的优缺点的评估。让我们开始吧&#…

chatgpt赋能python:Python怎么取余数?

Python怎么取余数? 在Python中,我们经常需要进行数学运算,而其中计算余数也是经常用到的。虽然计算余数的方法似乎很简单,但是在不同的编程语言中有些微小的差异。本文将介绍在Python中如何高效地计算余数,以及一些相…

【动态规划】NK刷题记之DP6 连续子数组最大和(C语言实现)

【动态规划】NK刷题记之DP6 连续子数组最大和(C语言实现) 一、题目二、题解 2.1动态规划2.2贪心算法2.1.1 贪心算法的定义2.2.2贪心算法的性质2.2.3本题的贪心算法解决思路 2.2.4贪心与动态规划的区别 三、代码实现 3.1法一:动态规划(递归实…

无需公网IP,在家使用IPV6和电信光猫进行内网穿透以搭建远程主机

ipv4的公网IP弄起来还是比较麻烦,所以不管是搭建私人NAS还是远程登陆主机都总是需要进行内网穿透。一般的方案都是用花生壳这类的商用服务,然而这些服务一方面又贵又慢还有流量限制,另一方面还要进行把三代信息都盘出去的实名认证 1G到5G一个…

System V通信

文章目录 共享内存什么是共享内存(物理内存块属性)共享内存的接口认识查看共享内存删除共享内存共享内存的创建(ftok和shmget)挂接和去关联(shmat和shmdt) 利用共享内存通信(简单的代码演示&…

Vue中如何进行数据缓存

Vue中如何进行数据缓存 Vue是一款流行的前端框架,它提供了许多方便的功能来处理数据。其中一个非常有用的功能是数据缓存。数据缓存可以提高应用程序的性能,减少网络请求,提高用户体验。在本文中,我们将介绍Vue中如何进行数据缓存…

chatgpt赋能python:Python如何取三位小数

Python 如何取三位小数 Python 是一种很强大的编程语言,可以应用于各个领域。其中,处理数字也是 Python 的一项强大功能。当我们需要对数字进行精细的操作时,常常需要使用到取小数的功能。本文将介绍如何使用 Python 取三位小数,…

Qgis中进行Shp和Excel属性连接实现百强县公共预算空间分析

前言 在之前的博文中,将2022的全国百强县一般公共预算收入的数据下载到了本地,博客原文地址:一种使用Java的快速将Web中表格转换成Excel的方法。对于不关注时空位置关系的一般分析,到此也就基本够用了。但是,如果站在全…

C语言函数初阶(1)

目录 1. 函数是什么 2. 库函数 3. 自定义函数 4. 函数参数 5. 函数调用 6. 函数的嵌套调用和链式访问 7. 函数的声明和定义 8. 函数递归 今天我们讲解前6个部分,下一个博客我们讲解后2个部分,因为后两个部分难度较大,讲解起来要花一点…

Vue中如何进行错误处理

Vue中如何进行错误处理 在Vue应用程序中,错误处理是必不可少的。错误可能发生在各种地方,例如网络请求、组件生命周期钩子函数、计算属性、方法等等。如果我们不正确地处理这些错误,可能会导致应用程序崩溃或无法正常工作。在本文中&#xf…

chatgpt赋能python:Python怎么反向切片

Python怎么反向切片 在Python中,切片是一种用于从序列中选取子序列的方法。正向切片从序列的第一个元素开始选取,而反向切片则从序列的最后一个元素开始选取。本文将介绍Python中如何使用反向切片。 什么是切片 在Python中,切片是一种操作…

IP协议的特性总结

目录 1. 地址管理 1.1 动态分配 1.2 NAT(网络地址转换)机制 1.3 IP地址的组成 1.4 IP地址网络号和主机号的划分 1.4.1 IP地址分类(ABCDE类) 1.4.2 子网掩码 1.5 特殊的IP地址 2. 路径规划 3. IP协议报文格式 3.1 分包 3.2 组包 1. 地址管理 IP地址在之前跟大家简单…

mfc读取obj格式文件初步

3dmax做一个box; 导出为cube1.obj; 记事本打开看一下该obj文件; # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware # File Created: 10.06.2023 23:16:04mtllib cube1.mtl# # object Box001 #v -41.2323 0.0000 31.8849 v -4…

chatgpt赋能python:Python如何反向排序

Python如何反向排序 在Python中,排序是一项常见的任务。通常情况下,我们想对一组数据按照升序进行排序。但有时候,我们需要对这些数据进行反向排序,也就是按照降序进行排序。那么,Python该如何实现反向排序呢&#xf…

chatgpt赋能python:Python如何取出int内的个位数

Python如何取出int内的个位数 Python已经成为全球范围内最受欢迎的编程语言之一,它具有简单易学,可读性高和可扩展性等特点,因此它被广泛应用于数据科学、人工智能、网络编程、物联网和Web开发等领域。在Python编程中,有时需要从…

第七十天学习记录:高等数学:微分(宋浩板书)

微分的定义 基本微分公式与法则 复合函数的微分 微分的几何意义 微分在近似计算中应用 sin(xy) sin(x)cos(y) cos(x)sin(y)可以用三角形的几何图形来进行证明。 假设在一个单位圆上,点A(x,y)的坐标为(x,y),点B(x’, y’)的坐标为(x’, y’)。则以两点…

44--Django-项目实战-全栈开发-基于django+drf+vue+elementUI企业级项目开发流程-支付宝二次封装、支付成功页面以及后台设计

一、支付宝支付介绍 需求:购买课程,付款 现在主流支付有支付宝支付、微信支持、银联支付 申请使用支付宝支付,需要有商户号(用户把钱付款到你的商户号中) 收手续费商户号要申请,需要有公司的营业执照(不需要营业执照也可以申请–》笔记)我们开发,需要商户号,公钥,…

Spring的数据访问哲学

目录 设计思路 了解Spring的数据访问异常体系 数据访问模板化 设计思路 Spring的目标之一就是允许我们在开发应用程序时,能够遵循面向对象(OO)原则中的“针对接口编程”Spring对数据访问的支持也不例外像很多应用程序一样,Spittr应用需要从某种类型的…

chatgpt赋能python:Python中使用Numpy获取数组元素的方法

Python中使用Numpy获取数组元素的方法 作为一种高级数据处理和科学计算库,numpy在python中被广泛使用。对于从事科研数据处理工作的工程师和研究人员来说,numpy已经成为必须要掌握的工具之一。 本文将讨论如何在Python中使用Numpy获取数组元素。我们将…

理解分布式锁的实现过程

背景:分布式锁在后端开发者会用到,它有哪些特点呢? 在分布式系统中,一个应用部署在多台机器当中,在某些场景下, 为了保证数据一致性,要求在同一时刻,同一任务只在一个节点上运行&am…