本系列的内容仅是记录和督促我自己学习shell的,内容都是从到处粘过来的,在其基础上做了删减,便于学习。主要的来源地址为:http://c.biancheng.net/cpp/view/6994.html
1、shell简单介绍:
shell 脚本的优势在于处理偏操作系统底层的业务,例如,Linux 内部的很多应用(有的是应用的一部分)都是使用 Shell 脚本开发的,因为有 1000 多个 Linux 系统命令为它作支撑,特别是 Linux 正则表达式以及三剑客 grep、awk、sed 等命令。
对于一些常见的系统脚本,使用 Shell 开发会更简单、更快速,例如,让软件一键自动化安装、优化,监控报警脚本,软件启动脚本,日志分析脚本等,虽然 Python 也能做到这些,但是考虑到掌握难度、开发效率、开发习惯等因素,它们可能就不如 Shell 脚本流行以及有优势了。对于一些常见的业务应用,使用 Shell 更符合 Linux 运维简单、易用、高效的三大原则。
2、shell基础小知识点:
(1)采用 cat /etc/shells 在终端下查看当前linux系统下的shell版本
cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
现在普遍用的都是bash shell,即使是 /bin/sh 也是指向 /bin/bash 的。 sh被bash代替。
(2)采用 echo $SHELL (注意是大写的SHELL 和$ 符号) 查看当前linux使用的默认shell版本。
我的linux默认的是:
/bin/bash
(3) $ 是普通用户 # 是超级用户root用户
su root (普通用户进入超级用户)
密码: (输入密码的时候光标是不动的)
root@lizi-virtual-machine:/home/lizi# su lizi (超级用户返回普通用户,su空格用户名)
lizi@lizi-virtual-machine:~$
(4)可以通过修改 PS1 变量来修改提示符格式,就是光标前面的那一串字符,每一次敲回车都出现的那一串字符。
例如: (注意下次启动终端的时候就又变成默认的了)
lizi@lizi-virtual-machine:~$ PS1="[\t][\u]\$"
[11:00:21][lizi]$
(5)进出目录:
cd (回到home目录)
ls (查看目录下有什么文件)
cd空格shell (进入到shell文件夹)
(6)运行第一个shell
建一个名为test.sh的文档写入:
#!/bin/bash
echo "what's your name?"
read PERSON
echo "hello $PERSON"
第一种运行方式:(test.sh中必须有: #!/bin/bash)
[11:22:29][lizi]$chmod +x ./test.sh
[11:22:41][lizi]$./test.sh
what's your name?
lizi
hello lizi
[11:22:55][lizi]$
第二种运行方式:(test.sh中可以没有: #!/bin/bash)
[11:23:11][lizi]$/bin/sh test.sh
what's your name?
lizi
hello lizi
[11:25:44][lizi]$