如何设置shell别名,以便我可以更改目录

时间:2014-07-22 22:45:27

标签: node.js git bash shell gruntjs

我在工作流程中使用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命令运行时,它们会在错误的目录中执行。

1 个答案:

答案 0 :(得分:0)

不是100%肯定你的意思,但我猜你打开bash时想要

  1. 能够输入命令带您进入项目
  2. 然后输入npm install并让它下拉所有依赖项
  3. 尝试编辑你的.bashrc文件(这应该在你的主目录中,而不是在/ bin文件夹中)来访问它你可以使用像

    这样的东西
    nano ~/.bashrc
    

    (〜/是您主目录的快捷方式)

    并查看任何现有的别名命令或将其添加到底部。

    然后在打开另一个bash会话后(.bashrc仅在您第一次启动终端时运行),您应该能够通过键入"别名"来查看当前的别名。

    您可以通过键入" projDir"来启动上面提到的别名。进入控制台。在别名中添加完整路径会更好,例如

    alias projDir='cd /var/www/onloadsolutions'
    

    然后你可以从任何地方调用它。否则,您可能会遇到与预期不同的文件夹。

    <强>更新 见下面的评论。

    cd $2放在post_install.sh文件的第二行到第一行,并将第二个参数添加到调用它的package.json文件中。