bash shell代码应该是一种函数式语言吧

bash shell代码应该是一种函数式语言吧

如果命令看作函数的话,

每一行命令都是表达式,bash通过对每一行表达式求值。

apple@apple:~$ if [ 'a' == 'a' ]; then echo "true"; else echo "false"; fi

可以说是命令,也可以说是对if ..... fi表达式求值      
函数式语言俺只学过一点儿 Haskell, 俺认为 bash shell「代码」不能看成是函数式语言

--
不知道 bs 在研究什么, 总是抛出些「奇谈怪论」       
复制内容到剪贴板
代码:
qsort :: Ord a => [a] -> [a]
qsort [] = []
qsort (x : y) = qsort(lower) ++ [x] ++ qsort(upper)
    where lower = [ a | a <- y, a < x ]
          upper = [ a | a <- y, a >= x ]
      
正在想bash是怎样设计出来的      
BS大大的问题, 我基本上都是看不懂的

另外
为了风格统一
建议在 [  ] 中使用 =
在[[  ]] 使用  ==

也许应该再加一句在sh中使用[  ]
在bash中使用[[  ]]      
[[ 和 [ 的区别

Conditional expressions are used by the [[ compound command and the test and [ builtin commands.

[[是组合命令
[ 是内建命令      
"=" 和 "=="的区别

"=" may be used instead of "==" for strict POSIX compliance.      
也就是说统一用"==",说明这个不是POSIX环境。
只在POSIX环境使用"="。当看到"=",提示你是POSIX环境      
引用:
原帖由 li-jiahuan 于 2008-10-20 22:56 发表
另外
为了风格统一
建议在 [  ] 中使用 =
在[[  ]] 使用  ==

也许应该再加一句在sh中使用[  ]
在bash中使用[[  ]]
在 [[ ]] 中 == 跟 = 效果还是不同的, 前者是 glob style 的字符串匹配, 后者是简单的字符串比较, 俺认为不能统一使用 ==       
恩,我再自己推敲