3

这是我第一次创建 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"

我也读过别名,我试过了

#!/bin/bash
git clone git://github.com/Tmeister/Nodejs---Boilerplate.git site
alias proj="cd /site"
proj
echo "npm install"

但是没有任何效果..

谁能帮助我?

4

1 回答 1

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

为了使它更健壮一点,只有在成功时才运行npmcd site更多信息在将命令链接在一起):

git clone git://github.com/Tmeister/Nodejs---Boilerplate.git site
cd site && npm install && cd -

仅仅因为我读了一些关于可靠 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
于 2013-02-08T15:37:25.063 回答