linux shell sh bash

关于#!

每个shell 脚本开头都使用"#!",#!实际上是一个特殊的标识符,后面指定了执行该脚本要使用的shell.

如常用的有:

#!/bin/bash

#!/bin/sh

等。

#!/bin/sh  , #!/bin/bash 等只能放在脚本文件的第一行,如果不在第一行,那么将被视为注释。

sh跟bash的区别
指定为“#!/bin/sh”时,如果执行到某一行出错,则不再继续往下执行。
指定为“#!/bin/bash”时,如果执行到某一行出错,会继续往下执行。

实际上 /bin/sh 等价于 /bin/bash --posix

如果不指定使用哪种shell执行,则默认使用当前登录的shell来执行,通常默认使用的shell都是bash。

查看当前系统可以使用的shell
cat /etc/shells

# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/tmux
/usr/bin/screen

其中 bash 是几乎所有linux发行版中默认使用的shell。


查看系统默认使用的shell:
echo $SHELL

/bin/bash

查看当前使用的shell
env | grep SHELL

SHELL=/bin/bash


修改当前用户使用的shell(后续新建会话生效)

方法一、
chsh -s   要使用的shell的绝对路径
如:
chsh -s  /bin/sh

方法二、
root@bosh:~# chsh
Changing the login shell for root
Enter the new value, or press ENTER for the default
 Login Shell [/bin/bash]: 此处输入要使用的shell的绝对路径即可(如:/bin/sh)


 

猜你喜欢

转载自huangqiqing123.iteye.com/blog/2254835