我正在尝试为我的.bash_profile
添加别名,以自动克隆GitHub存储库。克隆部分很简单:
alias createApp 'git clone https://github.com/user/repo.git'
这允许我执行:
createApp foo
createApp bar
如何在克隆后将克隆别名修改为cd <destination_folder> && npm install
,同时保持接受自定义目标文件夹名称的当前行为?
答案 0 :(得分:4)
创建shell函数而不是别名。
createApp() {
git clone https://github.com/user/repo.git "$1" &&
(cd "$1" && npm install)
}
将cd
放在子shell中会将其限制为npm
命令。
答案 1 :(得分:1)
我设法在.gitconfig
的帮助下间接地做到了这一点。
.gitconfig
中的:
[alias]
createApp = "!f() { git clone https://github.com/user/repo.git \"$1\" && cd \"$1\" && npm install; }; f"
.bash_profile
中的:
alias createApp='git createApp'
我将保持这个问题的开放性,以回答是否有直接(或更好)的方法来做到这一点。