做一个简单的Bash Script

青铜:
  1. 首先做一个.sh的小脚本,我们就命名为small.sh
    这个脚本的内容为:
//代码片段1
mkdir demo
cd demo
mkdir css js
touch index.html css/style.css js/demo.js
exit
  1. 然后呢... 在命令行中给这个脚本赋予可执行的权限(用+x
    chmod +x small.sh
    到这里脚本就做好啦
  2. cd到其他任一目录执行
    sh ~/test/small.sh
    查看该目录就可以看到“第一步中的代码片段1”执行完后的样子
白银:
  1. 接下来在任一目录创建.bashrc文件,内容为export PATH="test的绝对路径:$PATH"。
  2. cd到其他任一目录执行
    small.sh
    查看该目录就可以看到“第一步中的代码片段1”执行完后的样子
  3. small.sh 的后缀 .sh 很无聊,删掉它
    mv ~/test/small.sh ~/test/small
    现在你只要运行 small 就能执行该脚本了。
黄金:

但是。。。我们不想每次创建的文件夹名称都是demo,那么怎样可以实现自定义呢-----参数,将第一步的代码demo修改为$1

//代码片段1
mkdir $1
cd $1
mkdir css js
touch index.html css/style.css js/demo.js
exit
  1. cd到其他任一目录执行
    small haha
    查看该目录就可以看到“第一步中的代码片段1”执行完后的样子并且目录名为haha
铂金:
  1. 如果我们再次执行
    small haha
    就会报错如下:
    做一个简单的Bash Script_第1张图片
    image.png

    这时我们就需要在脚本文件small中做下判断了,如果目录存在则退出。
if [ -d "$1" ]; then
    echo "$1已经存在了"
    exit
else
    mkdir $1
    cd $1
    mkdir css js
    touch index.html css/style.css js/demo.js
    exit
fi

再次重新运行,结果:


做一个简单的Bash Script_第2张图片
image.png

PATH 的作用

每次在 Bash 里面输入一个命令时(比如 ls、cp、demo),Bash 都会去 PATH 列表里面从头到尾依次寻找对应的文件,如果找到了就执行。下图通过命令行展示了PATH的内容

image.png

你可能感兴趣的:(做一个简单的Bash Script)