如何编写一个脚本,在运行时向 stdou 显示“我应该学习”字样?

如何编写一个脚本,在运行时向 stdou 显示“我应该学习”字样?

如何输入脚本的内容,该脚本在运行时会在标准输出中显示“我应该学习”字样?

这是我最好的尝试:

#!/bin/bash
$ echo "I should have studied" | grep studied

我知道第一个语句对于 shell 执行我的命令是必需的。在第二个中,我使用 echo 来打印它,然后将该命令的管道运算符重定向为我的其他命令的输入。我还使用“grep”查找该列表中包含字符串目录的任何行并将这些行发送到标准输出。我有进步吗?

答案1

如果您直接在 shell 中输入,您可以

echo "I should have studied"

要创建脚本,您要做的就是将要运行的命令放入(文本)文件中并使用该文件:

使用您首选的 UNIX/Linux 编辑器创建文件study.您可以使用任何您喜欢的名称(.sh如果您愿意,也可以使用带后缀的名称)。将这两行添加到其中

#!/bin/bash
echo "I should have studied"

第一行声明它是一个bashshell 脚本。您不需要过滤输出,grep因为该echo命令本身就足够了。 (另请注意,您没有键入前导$;有些人在 StackExchange 和其他站点上使用它来显示他们正在键入命令,但我个人认为这很令人困惑。)现在使文件可执行,以便它可以像任何其他程序一样运行系统

chmod +x study

并运行它

./study

前导./告诉 shell 在当前目录中查找该命令。如果脚本位于系统目录或搜索路径 ( $PATH) 中,您只需键入其名称即可study运行它 - 就像任何其他命令一样。

对于语法检查,不要害怕使用https://shellcheck.net/当你的脚本开始开发时。

相关内容