如何在 Unix/Linux BASH shell 下将 shell 脚本的输出简单地写入屏幕?
大多数现代 shell(例如 bash、ksh 等)都在内置命令中附带了 echo 和 print。还有 printf(类似 C 语句)命令用于格式化数据并在屏幕上显示数据
教程详情 | |
---|---|
难度级别 | 简单的 |
根权限 | 不 |
要求 | 没有任何 |
美东时间。阅读时间 | 2分钟 |
回显命令
echo 命令的所有参数都会打印到屏幕上。例如:
echo "Hello World!"
您可以将 echo 命令添加到 shell 脚本中:
#!/bin/bash echo "内存信息" free -m echo "磁盘信息" df -h
打印命令
您还可以使用 printf 命令,如下所示
printf "Hello worldn"
或在脚本中使用,如下所示:
#!/bin/bash print "内存信息n " free -m printf "磁盘信息n " df -h
在哪里,
- -n:它是一个 FORMAT 控制输出,如 C printf 中一样。n 用于打印新行。
更多的选择
您可以使用 echo 或 printf 命令打印变量值。首先定义一个名为 DDAY 的变量:
DDAY="15-Aug-2007"
现在使用 echo 命令打印一个变量:
echo "$DDAY"
输出:
2007 年 8 月 15 日
现在使用 echo 命令打印一个变量:
printf "$DDAYn"
输出:
2007 年 8 月 15 日
您可以将 shell 变量与语句或命令本身结合起来:
#!/bin/bash DDAY=“2007 年 8 月 15 日” echo "D-Day 是 $DDAY" echo "今天是$(日期) " echo "Linux 版本: $(uname -r) "
$(uname -r)和/或$(date)是命令替换的示例。它允许命令的输出替换命令名称。语法有两种不同的形式:
$(命令名称)
或者
`命令名称`
保留白色间距(空白)
当您希望输出保留空格时,请将输出用双引号引起来:
$ echo "This is a test and today is $(date)"
不要使用单引号进行命令替换:
$ echo 'This is a test and today is $(date)'
示例输出:
这是一个测试,今天是 $(date)
有关更多信息,请通过键入以下命令阅读 printf 和 echo 的手册页:
$ man echo
$ man printf
$ man bash
$ man ksh