Linux 把shell脚本执行的结果写到文件中

哦,说到Linux下的shell脚本,真是让我头疼。
我记得有一个夏天,在一家公司开发一个自动化脚本,该脚本需要从数据库中过滤员工信息。
就在这时,我踩到了一个大坑。
也就是说,不知道如何将脚本执行结果写入文件。

刚开始学习的时候,我以为直接把输出写到脚本中就可以简单直接了,但是我发现这样很容易出错。
例如,我编写了一个名为 select_emp.sh 的脚本。
我想将原来查询的员工信息输出到emp.txt文件中。
结果,文件中生成了一条错误消息。
标准去哪儿了?那一刻我非常担心。

然后公司向师傅请教,告诉他有两种方法可以解决这个问题。

第一种方法是使用重定向运算符。
我就像一个小学生按照主说的那样写,例如:./select_emp.sh 1 >emp.txt 2 >/dev/null。
这意味着将标准输出重定向到 emp.txt 文件,并将标准错误重定向到黑洞 /dev/null。
使用这个技巧后,问题解决后,员工信息就乖乖输出到文件中。

第二种方法是在脚本中处理输出。
使用 echo 命令或其他命令的输出;然后我一开始也尝试过这个方法,将其重定向到一个文件。
但后来发现这个方法太简单了,对于简单的输出效果很好。
当脚本变得复杂时,这种方法就不够了。

所以综上所述,我还是推荐重定向到第一种方法。
这种方法灵活、易于管理;特别是在处理复杂的脚本或需要同时捕获标准输出和标准错误时。
对于第二种方法,我倾向于在简单的情况或者特定的需求下使用。
是啊,学无止境。
这种Linux脚本编程对于我这个经验丰富的司机来说常常是有压力的。

linux执行sh脚本的指令有哪些?

以下是在 Linux 上运行 .sh 脚本的重要技巧:
1 .首先进入脚本目录,然后直接运行,名称为./script。
例如,转到 /data/shell,然后转到 ./hello.sh。
这里 ./ 告诉系统在当前目录中查找要运行的脚本。

2 直接使用绝对路径运行。
例如,bash /data/shell/hello.sh。
这样您就不必担心脚本在哪里,只需提供完整路径即可。

3 使用 bash 或 sh 命令运行。
例如,bash /data/shell/hello.sh 或 sh /data/shell/hello.sh。
这种方法的优点是你可以在任何地方运行该脚本,无论该脚本是否具有 x 权限。

4 使用 。
或者在当前 shell 中运行的源。
例如。
/data/shell/hello.sh 或源 /data/shell/hello.sh。
这个技巧特别厉害。
直接在当前 shell 中执行脚本中的命令,无需打开新 shell。

说实话,当时我不太明白为什么第四种叫源。
我查了一下,发现是一个source命令,英文的意思是source。