1.如何查看系统默认的shell
echo $SHELL
若出现/bin/Bash,则表示默认的Shell是Bash。
ls -la /bin/sh
出现 lrwxrwxrwx 1 jd-movie root 4 2010-07-08 /bin/sh -> bash
这表示:sh实际上连接到Bash.换言之,执行sh,等于是执行Bash的执行文件(但还是有区别的)。
查看Bash Shell的版本
echo $BASH_VERSION
用户也可以通过more /etc/passwd | grep 用户名 来查看用户名所使用的默认shell。
例:
more passwd | grep jd-lottery
jd-lottery:x:511:505::/home/jd-lottery:/bin/bash
这里可以看出jd-lottery这个用户默认使用的shell是/bin/bash,/home/jd-lottery是这个用户的主目录.
帐号:x:UID使用者代码:GID群组代码:用户信息:主目录位置:login shell程序。
第二栏原为密码栏,基本系统安全的考虑,一律用x表示,编码后的密码被放入/etc/shadow文件之中。
如果最后一栏为无效的或不合法的shell程序,说明此用户无法登录主机。通常服务器程序执行时,需要一个执行身份,这种帐号并不需要登录主机,因此,就给它一个不合法的login shell,以策安全。
2.第一个Shell脚本
#! /bin/bash
# 这是我们的第一个程序hello.sh
echo 'Hello! Bash Shell!'
赋予执行权限
chmod +x hello.sh
执行脚本
./hello.sh
清空日志
#! /bin/bash
#这是我们的第一个有用的Bash Shell
cp /dev/null /home/jd-lottery/hello.sh