每次我需要编写一些涉及 if 语句的 bash 脚本、检查空变量和不存在的文件等。我发现自己在 google 上寻找一些简单的 bash 手册或指南。
通常这些内容太长太复杂,无法快速回答我手头的问题。
因此,我认为必须有一些命令或手册页以简短且易于理解的方式涵盖基本的 bash 语法(例如 if 语句、检查空变量、不存在的文件等)。我确定我只是还没有找到该命令( man bash 似乎不是)。
我在哪里可以找到那个?
答案1
man bash
是规范的 Bash 参考。help help
为您提供有关 Bash 内置程序的帮助help
,以及它如何为您提供有关其他 Bash 内置程序的简短帮助消息,例如help for
.- 格雷格的维基是查找有关 Bash 几乎各个方面的切中要害、简洁、有时甚至有趣的参考资料的最佳场所。
- 如果您想要一种快速查找语法的方法,您可以版本控制
.bash_history
。有太多的命令、不同的参数语法、sed
线路awk
噪音和其他东西,无法记住所有这些,所以有一个“精心修饰的”个人参考是很好的标签向上看。
答案2
由于有网上有很多这样的东西,这是给你的一个建议;我用它来做各种各样的事情。
创建一个目录$HOME/notes
。添加子文件夹,bash
.如果您没有$HOME/bin
,请创建一个,然后使用您喜欢的任何方法将其添加到您的路径中(例如:在~/.bashrc
)。然后在其中放置一个简单的脚本cmdref.sh
:
#!/bin/bash
if [ -z "$CMREF_DIR" ]; then
CMREF_DIR="$HOME/notes"
fi
cat "$CMREF_DIR/${1}/${2}.txt"
为了方便起见,对其进行符号链接,ln -s ~/bin/cmdref.sh ~/bin/cmdref
;我喜欢这样做,这样您就可以编辑cmdref.sh
源代码,并且编辑器仍然可以通过后缀识别文件类型。
将任何内容复制粘贴到不同的文件中~/notes/bash
- 例如,您可以有一个文件arrays.txt
、loops.txt
等。只要这仅供您个人使用,您就没有侵犯版权。
您现在可以从命令行使用它,例如:cmdref bash arrays
并且该备忘单将被打印到控制台。请注意,虽然这些文件.txt
(同样,使用适当的后缀对编辑器、文件浏览器等很有用),但您不应该使用它们,cmdref bash arrays.txt
因为它是附加的cmdref.sh
(脚本所做的唯一事情是转换路径并添加后缀)。
答案3
man bash
涵盖了 bash 语法的各个方面,例如 for if statements
, string is zero
and non-existent files
,只需搜索(按/
按键并输入以下内容) for CONDITIONAL EXPRESSIONS
。