【发布时间】:2014-09-13 23:12:20
【问题描述】:
我在我的工作流程中使用 bower 和 grunt,并且我想在安装 grunt 的同时安装 bower 并删除我所有的 bower 依赖项。所以我创建了一个 package.json 文件,该文件在 postinstall 上附加了一个脚本,我还将我的 github 项目 repo 传递给它,并将我的 post_install.sh 放到 /root/bin 中。
{ // snippet of package.json
...
"scripts": {
"postinstall": "bin\\post_install.sh https://github.com/blah/blah.git
},
...
}
所以运行 npm install 会运行 post_install.sh,它会运行
#!/bin/bash
node_modules/.bin/bower install
grunt setup
git init
git add .
git commit -m "Initial commit of project artifacts"
git remote add origin $1
git push -u origin master
这仅在我将 git bash 设置为在我的项目目录中打开时才有效。所以我一直在试图弄清楚如何使用别名将目录从 git bash 在 /htdocs 打开的位置切换到 /htdocs/myproject 。我阅读了我认为的如何设置它,但我不知道如何调用这个文件......顺便还尝试将它放在另一个 .sh 文件中,看看是否有效。
#!.bashrc
alias projDir='cd /onloadsolutions'
/bin/.bashrc 中的别名在“grunt setup”上方时不会在我的 post_install.sh 中执行,我做错了什么?
将其放入 post_install.sh
echo "script running has basename `basename $0`, dirname `dirname $0`"
echo "present working directory is `pwd`"
给出的基本名称是 D:/htdocs/onloadsolutions/bin/post_install.sh,但我目前的工作目录是 /d/htdocs,当 bower 和 git 命令运行时,它们会在错误的目录中执行。
【问题讨论】:
标签: node.js git bash shell gruntjs