shell
Kernal(内核) 的外壳,即是 shell。
shell 脚本的开头必须有 #!
,叫 Shebang(sharp 和 bang)
查看 shells
# 查看可用的 shells
cat /etc/shells
# 查看当前shell
echo $SHELL # echo $0
# 查看当前shell的pid,并定位带此shell的进程
echo $$
# 综合
# 说明:ps查看进程 grep -v取反
ps -ef |grep `echo $$` |grep -v grep |grep -v ps #
切换 shell
sudo chsh -s /usr/local/bin/zsh
bash
GNU 软件之一,最新版本 5.0(截至 January 26, 2019)
环境变量:.bash_profile
or .bashrc
zsh
环境变量:.zshrc
PowerShell
emulate mode 仿真模式
支持对两种主流的 Bourne 衍生版 shell(bash、ksh)和 C shell 的仿真
macOS 环境变量
macOS 系统环境变量加载顺序
# 系统级别
/etc/profile # 不建议修改
/etc/paths # 全局性修改
/etc/bashrc # 一般在此添加系统级环境变量
# 用户级别
~/.bashrc
~/.bash_profile # 用户级环境变量 Linux下为.bashrc
~/.bash_login # 若bash shell是以login方式执行时,才会读取此文件。该文件仅仅执行一次!
~/.profile
设置 PATH
# 设置 PATH 的语法:
export PATH=$PATH:PATH1:PATH2:PATH3
# 在终端中设置PATH:
echo 'export PATH=somepath:$PATH' >> ~/.bash_profile
# 查看
echo $PATH
PATH 生效
一般环境变量更改后,需要电脑重启/用户重新登录后生效 使修改立即生效
# source FileName
# example
source ~/.zshrc
临时生效
# 临时生效 直接生效 只在当前shell及子shell中有效
export 变量名=变量值
设置别名
alias ll='ls -la'