Shell概述:
Shell是一个命令行解释器,用于接受应用程序的命令,然后调用操作系统内核。
外层应用 -> Shell(命令行解释器) -> linux内核
目前,Python脚本语言比Shell更简洁高效。
Shell解析器:
cat /etc/shells: linux提供的Shell脚本解释器
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/bash和/bin/sh的关系:sh软连接到bash,相当于最终都是调用bash解析器。
-rwxr-xr-x 1 root root 964536 Nov 25 00:33 bash
lrwxrwxrwx 1 root root 4 Dec 27 09:47 sh -> bash
echo $SHELL:系统默认的shell解析器
/bin/bash
Shell案例
#!/bin/bash 开头固定格式,指定解析器
例一:hello.sh在控制台输出hello
touch hello.sh
#!/bin/bash
echo "hello!"
执行方式:
第一种:采用bash或sh+脚本的相对路径或绝对路径(不用赋予脚本+x权限)
sh hello.sh
或者bash hello.sh
第二种:采用输入脚本的绝对路径或相对路径执行脚本(必须具有可执行权限+x)
赋于文件执行权限chmod 777 hello.sh
再 ./hello.sh
同样可以执行
例二:多命令处理,在/home/shell下创建hello.txt,并添加"hello"
#!/bin/bash
cd /home/shell
touch hello.txt
echo "hello" >> hello.txt
cat hello.txt