Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果你懂C,为什么要学bash?_C_Linux_Bash_Unix - Fatal编程技术网

如果你懂C,为什么要学bash?

如果你懂C,为什么要学bash?,c,linux,bash,unix,C,Linux,Bash,Unix,我在这里的目标是为系统编程课程学习C(在Linux/UNIX中讲授,而不是在Windows中讲授) 通常很明显,键入命令或编写一批命令的脚本(例如,对于一个工具链)比编写一个新的C程序花费的时间要少 Bash具有方便的优点,但是学习所有Bash技巧和语法都有自己的学习曲线。 例如,为了进行一些基本的文件操作,我不得不问以下问题: 学生仅仅学习stat如何工作,编写一个程序来执行任何循环或if构造,难道不会获得更多吗 学习bash的理由是什么?如果你可以用C语言编写任何东西,例如使用Linux系

我在这里的目标是为系统编程课程学习C(在Linux/UNIX中讲授,而不是在Windows中讲授)

通常很明显,键入命令或编写一批命令的脚本(例如,对于一个工具链)比编写一个新的C程序花费的时间要少

Bash具有方便的优点,但是学习所有Bash技巧和语法都有自己的学习曲线。 例如,为了进行一些基本的文件操作,我不得不问以下问题:

学生仅仅学习
stat
如何工作,编写一个程序来执行任何循环或
if
构造,难道不会获得更多吗


学习bash的理由是什么?如果你可以用C语言编写任何东西,例如使用Linux系统调用,如
execve

当然可以,但是徒手编写
grep
需要多长时间?

打开窗口只需轻轻一推,为什么还要用锤子呢?在很多情况下,bash并不是最好的工具,但在很多情况下,它已经足够好了,尤其是对于一次性代码。更重要的是,我在业余时间做9到5次系统管理工作和编程。你知道有什么区别吗?UNIX shell工具已经存在。作为一名管理员,你所面临的任何问题中,99%都有在你之前的管理员几十年的经验所提供的工具。如果你是一名
C
程序员,并且认为现有的工具不足,请下载源代码并改进它。如果是好的,就和别人分享。但是为什么要重新发明轮子呢?你没有给任何人留下深刻的印象&可能会引起更多的问题。@JakeGould我同意,将现有工具(如
grep
等)一起编写脚本肯定比重写所有这些更有意义。但是对于更复杂的任务,如if
for
,比较,数学,这些不仅仅是API调用,bash语法似乎只是一种阻碍。@t.Webster:“…bash语法似乎只是一种阻碍。”做一些真正的系统管理工作,然后再联系我们。