bash - 函数与脚本 - Unix Bash 编程

标签 bash function unix scripting

我对编程还很陌生(大约一年 - 使用 Java),对 bash 也非常陌生(大约六周)。我写了一个做一些事情的小应用程序,它完全由脚本组成。没有一个功能。我知道我可以拥有一个包含所有功能的文件,但为什么和/或什么时候应该。

例如,我有一个名为 getID 的脚本,它调用“validateID”脚本来确保 id 有效(恰好 3 个数字长,例如 827 395 148),然后检查“ids”文件中的特定 id 并返回如果验证并找到了 id,则为 true。

然后我有另一个名为 getID2 的脚本,它验证 id 并在未找到 id 时返回 true。

我最近发现了 getopt 命令,我可以在其中使用 getID -f 在找到时返回 true,在没有找到时使用 getID -n 返回 true。或者我可以编写一个函数 getID(),如果找到则返回 0,如果找不到则返回 1。

我目前正在尝试用更好的逻辑重写应用程序。我会接受有关程序任何部分的任何建议,但我真的很想知道什么时候应该使用函数和/或什么时候应该使用脚本。该计划的具体内容如下。

细节 - 该应用程序是一个小型报告系统,其中我有一个 ID、姓名和分数列表。我可以根据某人的 ID 查看、编辑、更新或删除某人。

最佳答案

作为一般规则,您应该只为具有重要独立实用性的内容创建一个全新的脚本。如果它存在的唯一原因是被主脚本调用,那么它应该是主脚本中的一个函数。

编辑:如果要从多个独立脚本调用一个特定函数(或一组函数),您可以将该函数作为一个函数放入一个单独的文件中,并在使用它的各种脚本中获取它。

关于bash - 函数与脚本 - Unix Bash 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7276476/

相关文章:

r - 如何覆盖包命名空间中不可见的函数?

bash - 使用 ffmpeg 从 unix 命令批量将 wav 文件批量转换为 16 位

bash - 自定义 Bash 脚本

node.js - NPM 不会在 Mac 上安装任何包。新的,干净的构建。 `EACCES` & 其他错误

linux - bash 信号陷阱将覆盖其 nohup 子命令的信号?

c++ - 函数返回后程序被终止

bash - 找出我必须在 Linux 系统上安装哪个包

matlab - 输入矩阵到ode45的函数文件

unix - 在bc中除法时如何得到十进制数?

c++ - 用于基准代码运行 K 次的 Unix 命令