用户自定义shell
大约 2 分钟linuxcentos
个人用户脚本
如果脚本仅限当前用户使用,可以放在用户主目录下的 bin 或 .local/bin 目录中,需要手动创建目录并添加到 PATH 环境变量(适合用户私有的脚本):
mkdir -p ~/bin
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
系统级别脚本
系统级别的脚本,供所有用户使用。通常用于自定义或第三方工具,将批处理文件 sh文件 放在路径 /usr/local/bin/ 下,需要 root 权限,该目录已默认包含在 PATH 中
sudo cp your_script.sh /usr/local/bin/
sudo chmod +x /usr/local/bin/your_script.sh
还有另外一个目录 /usr/local/sbin/ 存放需要管理员权限执行的系统管理脚本(如涉及系统服务的脚本)
临时或项目相关脚本
大型或独立的软件/脚本可以放在 /opt 下的子目录中,例如:
/opt/my_project/scripts/your_script.sh
需要手动将路径加入 PATH 或通过绝对路径调用。如果脚本属于特定项目,可直接放在项目根目录下(如 /home/user/projects/my_project/)
系统标准目录
以下是系统标准目录 /bin/、/sbin/、/usr/bin/、/usr/sbin/ 这些目录存放系统预装的程序,不建议将自定义脚本放在这里,以免影响系统完整性
最佳实践
根据权限区分
- 仅当前用户使用的脚本应当使用目录
~/bin/ - 所有用户使用的脚本应当使用目录
/usr/local/bin/ - 需要 root 的脚本应当使用目录
/usr/local/sbin/
制作批处理文件后要记得给可执行权限 chmod +x your_script.sh,如果使用非标准路径,需将目录添加到 PATH 中(通过 ~/.bashrc 或 /etc/profile)
示例
# 1. 创建用户 bin 目录(如果不存在)
mkdir -p ~/bin
# 2. 将脚本复制到目录并赋予权限
cp vuepress.sh ~/bin/
chmod +x ~/bin/vuepress.sh
# 3. 更新 PATH(如果尚未配置)
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# 4. 直接运行脚本,不管当前处于什么路径,都可执行下面命令来运行 shell 脚本
vuepress.sh
