朱琛的小屋

shell错误 let:not found

今天遇到个错误:

zc@zc-HP-242-G1-Notebook-PC:~$ ./1.sh
1.sh: 7: 1.sh: let: not found

查了一下,发现是因为/bin/sh默认的软连接是dash,不是bash,我们可以通过下面的命令在/bin目录下看见这个:

zc@zc-HP-242-G1-Notebook-PC:/bin$ ll sh
lrwxrwxrwx 1 root root 4 Aug 23  2014 sh -> dash*

我们直接bash 1.sh就可以了。
当然想永远解决的我们有两种方法解决:

  1. 我们可以通过chsh命令进行改变,chsh可以改变目前用户的shell类型。
zc@zc-HP-242-G1-Notebook-PC:/bin$ chsh
密码: 
正在更改 zc 的 shell
请输入新值,或直接敲回车键以使用默认值
    登录 Shell [/bin/bash]: 

我这里直接是我想要的,所以敲回车即可。如果不是/bin/bash,你就写这个路径就行啦。但是这个命令有一个缺点:

zc@zc-HP-242-G1-Notebook-PC:~$ ./1.sh
count = 2
zc@zc-HP-242-G1-Notebook-PC:~$ sh 1.sh
1.sh: 7: 1.sh: let: not found
count = 1

大家不用关心这个输出是什么…但是我们看到了用.是成功了,用sh还是let: not found

  1. 第二个方法是改变/bin/sh的连接。输入命令sudo ln -sf /bin/bash /bin/sh,然后输入ll /bin/sh,可以看到下面的情况。
zc@zc-HP-242-G1-Notebook-PC:~$ sudo ln -sf /bin/bash /bin/sh
zc@zc-HP-242-G1-Notebook-PC:~$ ll /bin/sh
lrwxrwxrwx 1 root root 9 Oct 19 12:05 /bin/sh -> /bin/bash*

这次就算是解决了。

zc@zc-HP-242-G1-Notebook-PC:~$ sh 1.sh
count = 2
zc@zc-HP-242-G1-Notebook-PC:~$ ./1.sh
count = 2
朱琛 wechat
扫一扫,用手机看更方便~
坚持原创技术分享,您的支持将鼓励我继续创作!