Ubuntu 运行Shell 以及 修改Ubuntu默认Shell

版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/DarrenXf/article/details/82078427

平时写的Shell都是bash,在Ubuntu上写Shell有些不习惯。因为buntu6.10已将先前默认的bashshell更换为了dash。其表现是/bin/sh链接到了/bin/dash而不是传统的/bin/bash。

$ cd /bin
$ ll
    sh  -> dash*

在现在的Ubuntu中,/bin/sh默认是指向dash,不是传统的bash shell。dash是为了执行脚本而出现,并不是为了交互,dash速度更快,但功能较少。语法严格遵守POSIX标准。

这意味着如果用 sh 运行我们写的脚本。会调用dash shell。

我们现在把它修改成默认的bash。

方法一

尝试

$ sudo ln -s /bin/bash /bin/sh
    ln: failed to create symbolic link '/bin/sh': File exists

然后,当然也可以直接运行下面的代码,上面代码只是尝试。

$ sudo rm /bin/sh
$ sudo ln -s /bin/bash /bin/sh

    

然后查看是否成功

$ cd /bin
$ ll
    sh -> /bin/bash*

方法二

sudo dpkg-reconfigure dash

这会弹出一个选项卡,把“dash设为默认shell”选择no。 然后查看是否成功。

$ cd /bin
$ ll
    sh -> /bin/bash*

这样就把Ubuntu的默认dash shell 修改成了 bash shell。

即使不修改默认shell,也可以用bash 执行 我们的shell文件。

$ bash your_shell_file.sh

另外,需要给shell文件增加执行权限,这个shell文件在自己执行的时候会读取第一行带#号的代码。类似

#!/bin/bash

给文件增加执行权限,如果没有增加成功自己找原因。可能文件所在的文件系统不支持。

$ chmod +x your_shell_file.sh
$ ll
    -rwxr-xr-x your your ================== your_shell_file.sh

然后就可以下面这样调用我们的shell

$ ./your_shell_file.sh

猜你喜欢

转载自blog.csdn.net/DarrenXf/article/details/82078427