1、shell初识 先解释什么是shell,shell作为用户与linux/unix系统之间进行交互的程序。shell有许多不同的版本 sh :最初的shell csh,tcsh,zsh:c shell. bash:Linux中的主角,来自GNU项目。bash的优势是其源代码是公开的。 不同的shell语法有一些不同。 2、遇到问题和解决办法 写了如下脚本(compute.sh),来测试变量的声明: #!/bin/sh 在终端中输入 sh compute.sh结果提示:declare not found 在网上查了一下,发现如下原因:可能是shell不同,不支持这种语法。 运行下面的命令,可以查看默认的shell是什么 ls -l /bin/sh 通过查看发现默认的shell不是bash,而是dash。/bin/sh命令通常只是一个到实际使用中的shell的链接。(从上面执行结果也可以看出来它是一个链接,链接到dash)l表示是链接。 所以在上面我们输入sh compute.sh实际上是dash compute.sh而不是bash compute.sh 如果我们输入bash compute.sh,则输出结果是正确的。那如何才能把bash作为默认的shell呢? 可以用下面的命令来实现: sudo dpkg-reconfigure dash 此命令是对已安装的包进行重新配置,在菜单(dash-bash-sh.png)中选择是否将 sh 链接 附图一:Ubuntu 下设置 dash 界面 |
|