如果文件中没有foobar,前一个命令将会返回一个非零错误代码。
第十二行:我们将会如果前一个命令返回一个非0错误代码,我们将会输出一句话File xxx does not have any foobar, adding one
第十三行:使用>>往对应文件中追加一行注释# foobar
现在我们来运行这个脚本,当前目录下有一些文件,我们将这些文件作为参数传给example.sh,检查是否有foobar。
#!/bin/bash
echo "Start program at $(date)" # Date will be substituted
echo "Running program $0 with $# arguments with pid $$"
for file in "$@";do
grep foobar "$file" > /dev/null 2> /dev/null
# When pattern is not found,grep has exit status
# We redirect STDOUT and STDERR to a null register ..
if [[ "$?" -ne 0 ]]; then
echo "File $file does not have any foobar, adding one"