Shell : hello world
- 编写shell脚本
- 将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!
网友评论
```
arg1=$1
ps aux | grep "$arg1" | awk '{print $2}' | xargs kill
```
请问有办法解决吗?