JHHK

欢迎来到我的个人网站
行者常至 为者常成

Shell介绍

目录

介绍

shell能干什么?
自动化的处理一些任务

bash和zsh他们是一系列的命令集合,他们都有像if 和 while这样的控制结构(脚本语言)
shell脚本语言(命令集合:bash/zsh) - shell解释器(命令解释器:bash/zsh)

shell执行环境是什么?
简单理解就是:Shell脚本在执行时使用的环境变量解释器所处上下文构成了脚本的执行环境。
例如:在xcode的Run script中执行的脚本的执行环境就是:xcode提供的环境变量 + mac中的shell解释器

#!/bin/zsh

# 配套资料:
# https://pan.baidu.com/s/1APpxZfbZ1i7aJsWW80GRpw?pwd=ra7r

# 配套资料不全,以下是黑马其它shell课的资料可以参考
# https://pan.baidu.com/s/1eanXWGk_rPfi1kUngLyCsQ?pwd=xqeq
# https://pan.baidu.com/s/1_tl67nESeH7uoQ2a9w1KhA?pwd=853a

# 云计算中的shell部分
# https://pan.baidu.com/s/1adF4fWW2Fga9N3H-BTcrQA?pwd=7nmi

# 什么是shell
# 	Shell是一个计算机操作系统的命令解释器
# 	Shell是一个通用的术语它包括了多种不同的命令行解释器,而Bash是其中一种具体的Shell,拥有自己的语法和功能
# 	bash是一个命令行解释器,也是一门脚本语言
# 	zsh是一个命令行解释器,也是一门脚本语言


# bash test.sh 使用bash解释器执行
# zsh test.sh 使用zsh解释器执行
# ./test.sh 使用shebang指定的解释器执行,
# 如果shebang没有指定使用终端默认解释器
echo "\n------------- shell相关 -------------\n"
# 查看当前shell
echo $SHELL

# 查看所有shell
echo /etc/shells

# 查看当前shell的进程
echo $$

# 更改shell
# chsh -s /bin/bash
# chsh -s /bin/zsh
echo "\n------------- 查看进程树 -------------\n"
# 如果没有pstree先安装
# brew install pstree
#  查看进程树
pstree
echo "\n------------- 用户相关 -------------\n"
# 查看用户
whoami

# 查看用户
id
id lixiaoyi
echo "\n------------- 查看指令位置 -------------\n"
which zsh
which -a ruby #查看所有ruby的安装位置
whereis brew
echo "\n------------- 执行脚本的方式 -------------\n"
# 会在子shell中执行,执行完会退出子shell,不影响当前的shell环境
# bash test.sh

# 会在子shell中执行,执行完会退出子shell,不影响当前的shell环境
# sh test.sh

# 在当前shell中执行,影响当前的shell环境
# source test.sh

# 在当前shell中执行,影响当前的shell环境
# ./test.sh

行者常至,为者常成!





R
Valine - A simple comment system based on Leancloud.