这是我第一次创建Shell脚本。
目前我正在使用nodejs,我正在尝试创建一个Shell脚本并在其中使用git。
#!/bin/bash
git clone git://github.com/Tmeister/Nodejs---Boilerplate.git site
此脚本位于我的桌面,它可以正常工作(是的,我安装了git)。
下载git存储库之后,我想:
cd /site
npm install
我安装了Nodejs和NPM。
我只想潜入已创建的文件夹并运行命令npm install
,所以我想这样做:
#!/bin/bash
git clone git://github.com/Tmeister/Nodejs---Boilerplate.git site
echo "cd /site"
echo "npm install"
此外,我已经阅读了alias,我尝试了
#!/bin/bash
git clone git://github.com/Tmeister/Nodejs---Boilerplate.git site
alias proj="cd /site"
proj
echo "npm install"
但没有任何作用..
任何可以帮助我的人?
答案 0 :(得分:6)
它可能比你想象的要简单(因为你一直在编写bash(或者你使用的任何shell)'脚本',只需使用命令行):
#!/bin/bash
git clone git://github.com/Tmeister/Nodejs---Boilerplate.git site
cd site
npm install
cd - # back to the previous directory
为了使其更加健壮,只有在npm
成功时才会运行cd site
(Chaining commands together中的更多信息):
git clone git://github.com/Tmeister/Nodejs---Boilerplate.git site
cd site && npm install && cd -
仅仅因为我读了一篇关于reliable bash的文章,这里还有另一个版本:
#!/bin/bash
OLDPWD=$(pwd)
git clone git://github.com/Tmeister/Nodejs---Boilerplate.git site \
&& cd site && npm install && cd "$OLDPWD"
function atexit() { cd "$OLDPWD"; }
trap atexit EXIT # go back to where we came from, however we exit