我们知道,每次用户通过向shell输入可执行对象文件的名称来运行程序时,shell会创建(使用fork)一个新进程,然后加载(使用execve)并在这个新进程的上下文中运行可执行对象文件。下面是我对shell内部工作方式的理解,如果我错了,请纠正我:
#!/bin/sh
echo "what is your name?"re
我有点搞不懂shell内置的定义。根据,对于任何内置的程序,shell直接执行命令,而不调用其他程序。“直接执行命令”到底是什么意思?例如,让我们看一下内置的cd:/usr/bin/cdcd is a shell builtin$ which grep执行cd (或任何其他内置的)与执行grep (或任何其他非内置的)
我在我的苹果电脑的终端中定制我的.bash_profile。我想创建一个运行ruby文件或在文本编辑器中打开它的函数,这取决于我的参数。这是我到目前为止所得到的:if [ $1 = run ]; then . open -a $1 ~/Programming/ruby/scratchpad.rbfi它工作正常,成功地打开或运行了脚本,但它给出了这个错误:
-bash: .: filen