在 Linux 和 UNIX 下在屏幕上写入简单输出的 Shell 命令/脚本
如何在 Unix / Linux BASH shell 下将我的 shell 脚本的输出简单地写入屏幕?
大多数现代 shell(例如 bash、ksh 等)都带有内置命令 echo 和 print。还有 printf(类似 C 的语句)命令来格式化数据并在屏幕上显示数据
教程详细信息 | |
---|---|
难度等级 | 简单的 |
Root 权限 | 不 |
要求 | 没有任何 |
预计阅读时间 | 2 分钟 |
echo 命令
echo 命令的所有参数都会打印到屏幕上。例如:
echo "Hello World!"
您可以将 echo 命令添加到您的 shell 脚本中:
#!/bin/bash echo "Memory information" free -m echo "Disk information" df -h
printf 命令
您还可以按如下方式使用 printf 命令
printf "Hello world\n"
或者按如下方式在脚本中使用:
#!/bin/bash print "Memory information\n" free -m printf "Disk information\n" df -h
在哪里,
- -n:它是一种 FORMAT,像 C printf 中一样控制输出。\n 用于打印新行。
更多选项
您可以使用 echo 或 printf 命令打印变量值。首先定义一个名为 DDAY 的变量:
DDAY="15-Aug-2007"
现在使用 echo 命令打印变量:
echo "$DDAY"
输出:
15-Aug-2007
现在使用 echo 命令打印一个变量:
printf "$DDAY\n"
输出:
15-Aug-2007
您可以将 shell 变量与语句或命令本身组合:
#!/bin/bash DDAY="15-aug-2007" echo "D-Day is on $DDAY" echo "Today is $(date)" echo "Linux version : $(uname -r)"
$(uname -r)和/或$(date)是命令替换的示例。它允许命令的输出替换命令名称。语法有两种不同的形式:
$(command-name)
或者
`command-name`
保留白色间距(空白区域)
当您希望输出保留间距时,请将输出括在双引号中:
$ echo "This is a test and today is $(date)"
不要使用单引号进行命令替换:
$ echo 'This is a test and today is $(date)'
示例输出:
This is a test and today is $(date)
要了解更多信息,请通过输入以下命令来阅读 printf 和 echo 的手册页:
$ man echo
$ man printf
$ man bash
$ man ksh