在Linux和UNIX下在屏幕上编写简单输出的Shell命令/脚本

时间:2020-01-09 10:39:58  来源:igfitidea点击:

如何简单地将我的shell脚本的输出写到Unix/Linux BASH shell下的屏幕?
大多数最新的shell(例如bash,ksh等)都在内置命令中附带了echo和print。
还有printf(类似于C的语句)命令来格式化和在屏幕上显示数据

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