在编写shell程序时,我们经常使用/bin/sh和/bin/bash.我经常使用bash,但我不知道它们之间有什么区别.
bash和之间的主要区别是sh什么?
我们究竟需要意识到在编程时bash和sh?
我开始玩git hooks,我想创建一个以防止开发人员在特定分支上创建新分支.我们公司目前的流程看起来像这样:
git checkout master
git fetch
git reset --hard origin/master
git checkout -b [branch name]
do awesome things.
Run Code Online (Sandbox Code Playgroud)
但是,偶尔快速移动时,一些开发人员最终会从分段回购中启动这个新分支.这导致悲伤.
所以,我想在开发人员开始创建一个新分支时创建一个钩子来中断,检查他们所在的分支,以及exit 1分支是不是master(或者如果分支名称那么通常只停止操作staging) ,否则允许.
编辑:
当我在此搜索更多内容时,我意识到我想要一个预检出钩子,它似乎不存在.除非有人有更好的想法,否则如果上述情况出现,我将继续在结账后挂钩中打印一个非常大的警告.
我的bash脚本出现以下错误.
ncompile.sh: 1: ncompile.sh: ###: not found
ncompile.sh: 52: ncompile.sh: [[: not found
Chose your Operating System. {Supported OS: Debian, Ubuntu, Fedora, CentOS, FreeBSD}
Debian
ncompile.sh: 61: ncompile.sh: [[: not found
ncompile.sh: 61: ncompile.sh: [[: not found
ncompile.sh: 70: ncompile.sh: [[: not found
ncompile.sh: 70: ncompile.sh: [[: not found
ncompile.sh: 79: ncompile.sh: [[: not found
Pick a valid OS
Run Code Online (Sandbox Code Playgroud)
使用此脚本:
###
### Functions to simplify stuff :)
###
debianDeps() {
apt-get install git cmake build-essential liblua5.2-dev \
libgmp3-dev libmysqlclient-dev libboost-system-dev …Run Code Online (Sandbox Code Playgroud)