【发布时间】:2013-02-05 00:50:08
【问题描述】:
我的目标是为系统编程课程学习 C(在 Linux/UNIX 中授课,而不是在 Windows 中授课)。
与编写新的 C 程序相比,通常很明显,一起键入命令或编写一批命令(例如,对于工具链)将花费更少的时间。
Bash 具有方便的优势,但学习所有 bash 技巧和语法有其自己的学习曲线。 例如,为了做一些基本的文件操作,我不得不问这个问题:
学生不会从学习stat 的工作原理和编写程序来执行任何循环或if 构造中获得更多吗?
什么是学习 bash 的论据,什么时候你可以用 C 来编写任何东西,例如。像execve这样的Linux系统调用?
【问题讨论】:
-
只要轻轻一推就可以打开窗户,为什么还要使用锤子?
-
在许多情况下,bash 不是完成这项工作的最佳工具,但在许多情况下,它已经足够好,尤其是对于一次性代码。
-
更重要的是,我朝九晚五做系统管理工作,并在业余时间编程。你知道有什么区别吗? UNIX shell 工具已经存在。作为管理员,您所面临的任何问题中,99% 都拥有来自您之前的管理员数十年经验的工具。如果您是
C程序员并认为现有工具不足,请下载源代码并使其更好。如果它很好,请与他人分享。但为什么要重新发明轮子呢?你没有给任何人留下深刻印象,并且可能会导致更多问题。 -
@JakeGould 我同意一起编写脚本工具现有工具,例如
grep肯定比重写所有这些更有意义。但对于更复杂的任务,ifelse、for、比较、数学,不仅仅是 API 调用,bash 语法似乎只是阻碍。 -
@T.Webster:“……bash 语法似乎只是碍事。”做一些真正的系统管理员工作,然后回复我们。