我只是想知道在系统编程中使用 shell 脚本是否是一种好的编程习惯。
我是系统编程的新手,正在尝试找出在给定系统上发现打印机并显示结果的最佳方法。
我能想到的最简单的方法是运行一个 exec 命令来运行一个 shell 脚本,该脚本将使用
lpstat -a > printers.txt
然后解析文件printers.txt
,显示信息,完成后删除文件。
您是从另一种语言的代码中运行 shell 脚本吗?在这种情况下,几乎可以肯定没有必要使用 shell 脚本。
几乎所有语言都允许您运行任意命令并捕获输出。例如,C 和朋友有popen()
,Perl、Ruby 等有反引号(`lpstat -a`
将该命令的输出作为字符串返回)。这种方法使得不需要额外的 shell 脚本或临时文件。
最好使用脚本或编译语言来完成。您可以使用 Bash、Python 或 Perl 来实现此任务。混合语言也可以,但这会使代码不必要地复杂化,因此您需要一个很好的理由。