如何输入脚本的内容,该脚本在运行时会在标准输出中显示“我应该学习”字样?
这是我最好的尝试:
#!/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"
第一行声明它是一个bash
shell 脚本。您不需要过滤输出,grep
因为该echo
命令本身就足够了。 (另请注意,您没有键入前导$
;有些人在 StackExchange 和其他站点上使用它来显示他们正在键入命令,但我个人认为这很令人困惑。)现在使文件可执行,以便它可以像任何其他程序一样运行系统
chmod +x study
并运行它
./study
前导./
告诉 shell 在当前目录中查找该命令。如果脚本位于系统目录或搜索路径 ( $PATH
) 中,您只需键入其名称即可study
运行它 - 就像任何其他命令一样。
对于语法检查,不要害怕使用https://shellcheck.net/当你的脚本开始开发时。