Shell - Shell01 概述

HOUHUILIN / 2023-05-24 / 原文

Shell是什么

Shell 解析器有哪些

Shell 脚本的格式

Shell 脚本的执行

Shell 的变量

 

 

 

 

Shell是什么

Shell 是一个命令解释器,接收应用程序/用户命令去调用操作系统内核。

Shell 是一个功能强大的编程语言,易编写、易调试、灵活性强。

 

Shell 解析器有哪些

[root@node ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

 

Shell 脚本的格式

#!/bin/bash

echo "Hello World!"

第一行指定解析器,后面是系统命令的堆积(条件、循环、匹配……)。

 

Shell 脚本的执行

# bash
bash helloworld.sh
# bash + 绝对路径
bash /home/harley/helloworld.sh
# sh
sh helloworld.sh
# sh + 绝对路径
sh /home/harley/helloworld.sh

# Tips: 如果helloworld.sh 有可执行权限
./helloworld.sh
# 没有可执行权限,可以先赋权,再执行
chmod +x helloworld.sh

# 查看脚本的执行流程(一般使用这个命令来查看脚本执行的步骤,错误)
bash -x batch.sh

# 查看脚本的语法(一般使用这个命令来查看脚本语法错误)
bash -n batch.sh

 

Shell 的变量

# 系统变量
[root@node ~]# echo $HOME
/root
[root@node ~]# echo $PWD
/root
[root@node ~]# echo $SHELL
/bin/bash
[root@node ~]# echo $USER
root
[root@node ~]#

# 显示当前shell中所有变量
[root@node ~]# set

 自定义变量

[root@node ~]# A=3
[root@node ~]# echo $A
3
[root@node ~]# set | grep A=3
A=3
[root@node ~]# unset A
[root@node ~]# echo $A

[root@node ~]# set | grep A=3
[root@node ~]#