#!/bin/bash:解释下边代码以shell脚本执行;
除了第一行的#外,其他的#都是注释作用;
set -e:脚本只要放生错误就终止执行;
set +e:表示关闭;
export:设置环境变量;
$(): // 命令交换(可以理解成赋值)
whoami:显示用户名;
source ~/.bash_profile 就是让这个配置文件在修改后立即生效;
cd 进入用户主目录;
cd ~ 进入用户主目录;
cd - 返回进入此目录之前所在的目录;
cd … 返回上级目录(若当前目录为“/“,则执行完后还在“/“;”…"为上级目录的意思);
cd …/… 返回上两级目录;
if条件里的-z:后边的string长度为0贼为真;
send -i : 直接修改读取的文件内容;
rm:删除一个文件或目录;
mkdir:创建文件夹(如果文件夹存在,则失败);
pushd 目录:pushd后面如果直接跟目录使用,会切换到该目录并且将该目录置于目录栈的栈顶。(时时刻刻都要记住,目录栈的栈顶永远存放的是当前目录。如果当前目录发生变化,那么目录栈的栈顶元素肯定也变了;反过来,如果栈顶元素发生变化,那么当前目录肯定也变了。)
ditto:拷贝;
curl:网络工具,上传或下载文件;
mv:移动文件;
-d filename :如果 filename为目录,则为真;