(一)Shell概述
Shell是一个命令行解释器,它接受应用程序/用户命令,然后调用操作系统内核执行命令。
Shell也是一个功能强大的编程语言,易编写,容易调试,灵活性强。
Shell:命令解释器,根据输入的命令执行相应命令
查看当前系统的Shell:
cat /etc/shells
查看当前系统正在使用的shell:
echo $SHELL
shell解释器:
/bin/sh
/bin/bash linux默认shell
/bin/ksh 兼容bash
/bin/tcsh 整合C shell,提供更多功能
/bin/csh
/bin/zsh 给予ksh的更强大的shell
/bin/tcsh
一、Shell入门
1. HelloWorld脚本
- bash解析器执行脚本
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % touch helloworld.sh
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % vim helloworld.sh
#!/bin/bash
echo "Hello, world!"
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % sh helloworld.sh
Hello, World!
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell %
- 脚本自己执行,需要执行权限
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % chmod u+x heloworld.sh
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % ls -l
-rwxr--r-- 1 sangxiaoqian staff 33 7 15 14:19 heloworld.sh
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % ./heloworld.sh
Hello, World!
2. 多命令脚本
需求:
在~/Documents/shellDemo/HelloShell/目录下创建一个a.txt, 在a.txt文件中增加“love is love”。
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % touch batch.sh
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % vim batch.sh
#!/bin/bash
cd ~/Documents/shellDemo/HelloShell
touch a.txt
echo "love is love" > a.txt
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % sh batch.sh
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % cat a.txt
love is love