学习笔记——shell脚本编辑命令行(命令替换)

命令行替换

(1)反引号字符(`)

  • 示例
 test=`date`
#!/bin/bash
test=`date`
echo "The date and time are: " $test

(2)$()格式

  • 示例
test=$(date) 
#!/bin/bash
test=$(date)
echo "The date and time are: "$test

应用

在脚本中通过命令替换获得当前日期并用它来生成唯一文件名

#!/bin/bash
today=$(date +%y%m%d)
#+%y%m%d 格式告诉 date 命令将日期显示为两位数的年月日的组合
ls /usr/bin -al > log.$today

总结

bash shell脚本允许你将多个命令串起来放进脚本中。创建脚本的最基本的方式是将命令行中
的多个命令通过分号分开来。shell会按顺序逐个执行命令,在显示器上显示每个命令的输出。
你也可以创建一个shell脚本文件,将多个命令放进同一个文件,让shell依次执行。shell脚本
文件必须定义用于运行脚本的shell。这个可以通过 #! 符号在脚本文件的第一行指定,后面跟上
shell的完整路径。
在shell脚本内,你可以通过在变量前使用美元符来引用环境变量。也可以定义自己的变量以
便在脚本内使用,并对其赋值,甚至还可以通过反引号或 $() 捕获的某个命令的输出。在脚本中
可以通过在变量名前放置一个美元符来使用变量的值。
bash shell允许你更改命令的标准输入和输出,将其重定向到其他地方。你可以通过大于号将
命令输出从显示器屏幕重定向到一个文件中。也可以通过双大于号将输出数据追加到已有文件。
小于号用来将输入重定向到命令。你可以将文件内容重定向到某个命令。
Linux管道命令(断条符号)允许你将命令的输出直接重定向到另一个命令的输入。Linux系
统能够同时运行这两条命令,将第一个命令的输出发送给第二个命令的输入,不需要借助任何重
定向文件。
bash shell提供了多种方式在shell脚本中执行数学操作。 expr 命令是一种进行整数运算的简便
方法。在bash shell中,你也可以通过将美元符号放在由方括号包围的表达式之前来执行基本的数
学运算。为了执行浮点运算,你需要利用 bc 计算器命令,将内联数据重定向到输入,然后将输出
存储到用户变量中。
最后,本章讨论了如何在shell脚本中使用退出状态码。shell中运行的每个命令都会产生一个
退出状态码。退出状态码是一个0~255的整数值,表明命令是否成功执行;如果没有成功,可能
的原因是什么。退出状态码 0 表明命令成功执行了。你可以在shell脚本中用 exit 命令来声明一个
脚本完成时的退出状态码。
到目前为止,脚本中的命令都是按照有序的方式一个接着一个处理的。在下章中,你将学习
如何用一些逻辑流程控制来更改命令的执行次序。

猜你喜欢

转载自blog.csdn.net/qq_38743140/article/details/80456558