把Shell脚本设置为系统命令

Shell : hello world

  1. 编写shell脚本
  2. 将shell脚本设置为在任意路径下可执行的命令

1. shell脚本

  • 实现将项目中的本地化文件备份出来,并checkout文件
#!/bin/bash
echo "开始拷贝 *server-XXX* 配置文件 到 *bak*"
server_home=~/dev/xxx/server-xxx
server_bak_home=~/dev/xxx/bak/server-config

cd ${server_home}
cp -f ${server_home}/src/main/resources/application.yml  ${server_bak_home}/main/
cp -f ${server_home}/src/test/resources/application.yml  ${server_bak_home}/test/
cp -f ${server_home}/pom.xml   ${server_bak_home}

git co ${server_home}/src/main/resources/application.yml
git co ${server_home}/src/test/resources/application.yml
git co ${server_home}/pom.xml
echo " done! *server-xxx* 配置文件已拷贝完成";
  • 将上述配置文件从bak中拷贝到项目中
#!/bin/bash
echo "从 *bak* 中开始拷贝 *server-xxx* 配置文件"
server_bak_home=~/dev/xxx/bak/server-config
server_home=~/dev/xxx/server-lean

cd ${server_bak_home}

cp -f  ./main/application.yml  ${server_home}/src/main/resources/
cp -f  ./pom.xml    ${server_home}/
cp -f  ./test/application.yml  ${server_home}/src/test/resources/

echo "done! 配置文件已从 *bak* 拷贝到 *server-xxx* 中";
2. 将shell脚本设置为系统命令

因为我使用的是zsh,所以编辑~/.zshrc文件,添加:

alias stb="sh  ~/dev/xxx/shells/servertobak.sh"
alias bts="sh  ~/dev/xxx/shells/baktoserver.sh"

通过上面两步,就可以在任意目录执行stb和bts命令了。

tips: 通过下面的方式可以将密码传给需要输入密码的命令,在自动化脚本等方式可以使用

echo 'your password' | sudo npm run dev 

Done!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容