我在工作流程中使用bower和grunt,我想在grunt的同时安装bower并拉下我所有的bower依赖项。所以我创建了一个package.json文件,该文件在postinstall上附加了一个脚本,我也传递了我的github项目仓库,并将我的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设置为在项目目录中打开时才有效。所以我一直试图弄清楚如何使用别名将目录从/ htdocs中的git bash打开到/ htdocs / myproject。我读到了如何设置这个我想的,但是我无法弄清楚如何调用这个文件...顺便说一下也尝试将它放在另一个.sh文件中,看看是否有效。
#!.bashrc
alias projDir='cd /onloadsolutions'
如果删除上面的“grunt setup”,/ bin / .bashrc中的别名将不会在我的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命令运行时,它们会在错误的目录中执行。
答案 0 :(得分:0)
不是100%肯定你的意思,但我猜你打开bash时想要
npm install
并让它下拉所有依赖项尝试编辑你的.bashrc文件(这应该在你的主目录中,而不是在/ bin文件夹中)来访问它你可以使用像
这样的东西nano ~/.bashrc
(〜/是您主目录的快捷方式)
并查看任何现有的别名命令或将其添加到底部。
然后在打开另一个bash会话后(.bashrc仅在您第一次启动终端时运行),您应该能够通过键入"别名"来查看当前的别名。
您可以通过键入" projDir"来启动上面提到的别名。进入控制台。在别名中添加完整路径会更好,例如
alias projDir='cd /var/www/onloadsolutions'
然后你可以从任何地方调用它。否则,您可能会遇到与预期不同的文件夹。
<强>更新强> 见下面的评论。
将cd $2
放在post_install.sh文件的第二行到第一行,并将第二个参数添加到调用它的package.json文件中。