基础知识
执行
将保存为 test.sh,并 cd 到相应目录:
chmod +x ./test.sh #使脚本具有执行权限
./test.sh #执行脚本
注意,一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。
关键字介绍
#!/bin/bash // 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。
your_name="qinjx" // 命名变量与赋值,等号左右不能有空格
echo $your_name // echo输出关键字 $your_name使用变量1
echo ${your_name} // echo输出关键字 ${your_name} 使用变量2(推荐)
readonly your_name // readonly将变量设置成制毒
unset your_name // unset删除变量
# 这是一个注释 // #注释标识
:<<EOF // :<<EOF 多行注释内容 EOF
注释内容...
注释内容...
注释内容...
EOF
:<<' // :<<' 多行注释内容 '
注释内容...
注释内容...
注释内容...
'
:<<! // :<<! 多行注释内容 !
注释内容...
注释内容...
注释内容...
!
学习资料
使用背景
1、简单化多条指令的执行。
我的mac系统,在安装完nvm的node控制版本后,在终端使用nvm指令的时候总是失败,需要执行以下指令才可以完成。
source ~/.nvm/nvm.sh
nvm use 想要的node版本。
于是,想着写个sh脚本,代替我执行这两条指令。
实现
#!/bin/bash
echo "开始执行nvm简化指令"
source ~/.nvm/nvm.sh
nvm ls
nvm use v14.18.2
echo "执行完毕~"