继续前一篇的文章:

shell脚本的使用该熟练起来了,你说呢?(篇一)

shell脚本的使用该熟练起来了,你说呢?(篇二)

文章里面测试的命令脚本文件,大家关注我公众号后,可以私信我领取文件。

作者:良知犹存

转载授权以及围观:欢迎添加微信公众号:羽林君


shell echo

Shell echo命令

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

echo string

您可以使用echo实现更复杂的输出格式控制。

1.显示普通字符串:

echo "It is a test"//这里的双引号完全可以省略,以下命令与上面实例效果一致echo It is a test

2.显示转义字符

echo ""It is a test""

结果将是:

同样,双引号也可以省略

3.显示变量

read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量

read name echo "$name It is a test"

以上代码保存为hello_shell.sh,name 接收标准输入的变量,结果将是:

4.显示换行

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

输出结果:

5.显示不换行

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

输出结果:

6.显示结果定向至文件

echo "It is a test" > lynfile

./hello_shell.sh 执行脚本,当前目录下就会生成一个 lynfile 文件,里面的内容为It is a test

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

echo '$name"'

输出结果:

8.显示命令执行结果

echo `date`

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

结果将显示当前日期

shell printf

Shell printf 命令

我们学习了 Shell 的 echo 命令,我们再来学习 Shell 的另一个输出命令 printf。

printf 命令模仿 C 程序库(library)里的 printf() 程序。

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

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

printf 命令的语法:

printf  format-string  [arguments...]

参数说明:

  • format-string: 为格式控制字符串
  • arguments: 为参数列表。

实例如下:

echo "echo  Hello, Shell" lyn, actionprintf "printf Hello, Shell" lyn, action

接下来,我来用一个脚本来体现printf的强大功能:

printf "%-10s %-8s %-4s" 姓名 性别 体重kg  printf "%-10s %-8s %-4.2f" 张三 男 66.1234 printf "%-10s %-8s %-4.2f" 李四 男 48.6543 printf "%-10s %-8s %-4.2f" 王五 女 47.9876

执行脚本,输出结果如下所示:

更多实例:

# format-string为双引号printf "%d %s" 1 "abc"   # 单引号与双引号效果一样 printf '%d %s' 1 "abc"# 没有引号也可以输出printf %s abcdefprintf ""# 格式只指定了一个参数,但多出的参数仍然会按照该格式输出,format-string 被重用printf %s abc defprintf ""printf "%s" abc defprintf ""printf "%s %s %s" a b c d e f g h i jprintf ""# 如果没有 arguments,那么 %s 用NULL代替,%d 用 0 代替printf "%s and %d "

执行脚本,输出结果如下所示:


printf的转义序列

实例

printf "a string, no processing:" "AB"printf "a string, no processing:" "AB"printf "www.baidu.com a"

输出结果为:

shell 文件包含

Shell 文件包含

和其他语言一样,Shell 也可以包含外部脚本。这样可以很方便的封装一些公用的代码作为一个独立的文件。

Shell 文件包含的语法格式如下:

. filename   # 注意点号(.)和文件名中间有一空格或source filename

实例

创建两个 shell 脚本文件。

url.sh 代码如下:

#!/bin/bashurl="http://www.baidu.com"

url_read.sh 代码如下:

#!/bin/bash#使用 . 号来引用url.sh 文件#. ./url.sh# 或者使用以下包含文件代码 source ./url.shecho "官网地址:$url"

接下来,我们为 url_read.sh 添加可执行权限并执行:

注:被包含的文件 url.sh 不需要可执行权限。

这就是我分享的shell脚本,其中参考了很多人的文章,如果大家有什么更好的思路,也欢迎分享交流哈。

—END

shell 取中间行的第一列_shell脚本的使用该熟练起来了,你说呢?(篇三)相关推荐

  1. shell最大出现和连续出现次数_shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)...

    当服务器压力比较大,跑起来很费力时候.我们经常做站点页面优化,会去查找那些页面访问次数比较多,而且比较费时. 找到那些访问次数高,并且比较耗时的地址,就行相关优化,会取得立竿见影的效果的. 下面是我在 ...

  2. python某行某列读取数据_使用scrpython从某行的第一列提取数据

    在您的情况下,解决方案是:td:nth-child(1) Selects every element that is the first child of its parent >>> ...

  3. shell命令:打印除第一列外所有列

    awk '{for(i=2;i<=NF;i++) print $i}' text

  4. shell判端mysql数据库是否存在_Shell脚本检测和检查mysql数据库是否存在坏表

    shell脚本检测和检查mysql数据库是否存在坏表 此脚本的主要用途是检测mysql服务器上所有的数据库或者单独数据库中的坏表,适用于RHEL/Centos系列 #!/bin/bash #此脚本的主 ...

  5. 【Shell】awk命令--输出某列,列求和,列求平均值,列最大值,列去重复,取倒列,过滤行,匹配,不匹配,内置变量|定义分隔符|多个分隔符...

    目录 awk基本语法 awk输出某几列 awk遍历文件行处理 awk中运行shell命令 方法1:awk 内置函数system 方法2 通过awk  print 交给bash awk中运行shell命 ...

  6. 【Shell】awk命令--输出某列,列求和,列求平均值,列最大值,列去重复,取倒列,过滤行,匹配,不匹配,内置变量|定义分隔符|多个分隔符

    目录 awk基本语法 awk输出某几列 awk遍历文件行处理 awk中运行shell命令 方法1:awk 内置函数system 方法2 通过awk  print 交给bash awk中运行shell命 ...

  7. asp.net gridview删除 获取到第一行第一列的单元格内容_VBA中的常用单元格引用方式...

    VBA编程经常和"对象"打交道,其中最频繁的对象大概就是"单元格"了.(听说您还没有对象?那--我想你大概需要一份Excel,包邮988--) 今天我们就来聊一 ...

  8. excel空值读不到java里_第一列中的空值是否阻止Pentaho Spoon中的Excel文件导入?

    我正在尝试使用Pentaho Kettle / Spoon中的"Excel输入"转换导入Excel文件 . Spoon为第67行吐出'NullPointerException',第 ...

  9. python numpy 子数组_详解:Python 取numpy数组的某几行某几列方法(含对与错示例)...

    前言: 今天为大家带来的内容是Python 取numpy数组的某几行某几列方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,要是喜欢的话记得点赞转发收藏不迷路哦!!! ...

最新文章

  1. 人力资源部如何运用OKR?看三大层面最新OKR模板
  2. python访问网页时401_在python上访问带有基本身份验证的网页
  3. vue 设置代理报错;occurred while trying to proxy request xxx
  4. C4C HTML mashup debug
  5. CDN加速小水管动态应用技巧
  6. 次梯度法matlab代码,实例:连续化次梯度法解 LASSO 问题
  7. jpa怎么传参到in中_Java中如何处理开关状态的属性字段?
  8. Java中ThreadLocal的深入理解
  9. python编程-Python 编程速成(推荐)
  10. 大一c语言程序设计计算器,C语言程序设计-课程设计《计算器程序》.docx
  11. Android 高德地图搜索功能相关
  12. 使用npm安装yarn
  13. SSH服务配置公钥及双重验证
  14. OC算法 输出手机号码归属地
  15. Java中使用‘~‘获得数字的相反数
  16. pytorch模型转mxnet
  17. 【考研英语语法】一般现在时练习题
  18. android界面UI美化:沉浸模式、全透明或半透明状态栏及导航栏的实现
  19. Google Chrome Windows平台稳定版离线安装包下载
  20. GitLab CI/CD .gitlab-ci.yaml 关键词(十二):条件限定,only ,except,触发规则rules,工作流workflow

热门文章

  1. keras入门(三)搭建CNN模型破解网站验证码
  2. 728. Self Dividing Numbers
  3. vs2010 问题 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  4. javaCountDownLatch闭锁
  5. 「HDU6158」 The Designer(圆的反演)
  6. [Snipaste]系统截图工具
  7. 关于STM32的延时问题
  8. 网站服务器基本防范配置
  9. BCGControlBar菜单编程方法详解
  10. 算法提高课-搜索-最短路模型-AcWing 188. 武士风度的牛 :bfs、dist数组记录最小步数