草庐IT

BASH_SOURCE

全部标签

bash - 如何检测 docker run 是否以编程方式成功?

我正在编写一个非常简单的bash脚本来快速检查我的容器是否仍然可以正确构建和启动,以及里面的应用程序是否响应请求。有时dockerrun会失败,例如因为我试图将容器绑定(bind)到的端口已经分配。但是当这种情况发生时,dockerrun的退出代码仍然是0,所以我不能使用退出代码。如何以编程方式检查容器是否已正确启动?我正在考虑的解决方案是:解析错误输出dockerps查看容器是否在运行但是这两个看起来有点矫枉过正和丑陋。我是否错过了检查dockerrun是否成功的更好方法? 最佳答案 正如AbelMuiño在评论中所建议的,这可能

windows - 更改 git bash 的根目录(/)

有没有办法在windows上更改gitbash的根(/)目录。默认设置为安装文件夹。将它设置为c:\而不是需要键入驱动器号,例如/c/some/path在所有绝对路径上。 最佳答案 echo'cd/c/'>>~/.bashrc打开bashcli时自动转到/c/目录。 关于windows-更改gitbash的根目录(/),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3923203

.sh 文件的 Git bash 选项卡补全

我在Windows7上使用msysgit,我发现bash脚本非常有用。我写了一些.sh脚本,但我希望gitbash自动完成它们的名字。现在我可以看到,在初始提示后gitbash仅自动完成.exe、.bat和.com文件。如何允许自动完成.sh文件? 最佳答案 我发现以#!/bin/sh作为第一行的文件是自动完成的。这对我来说已经足够了。 关于.sh文件的Gitbash选项卡补全,我们在StackOverflow上找到一个类似的问题: https://stack

具有文件名支持的 Git bash-completion?

是否有支持文件名补全的bash补全脚本?我主要使用mercurial,我可以输入:hgdifftest/test_它会显示/完成所有修改过的测试文件。它适用于大多数子命令,即hgadd只会列出未跟踪的文件。这真的很方便。来自gitcontribseams的bash脚本不支持这个。有没有其他选择,或者您如何在命令行上使用git?编辑2015git-completion.bash自~1.8.2起支持完整文件名完成 最佳答案 那么,让我们看看Mercurialbash完成脚本是如何做到这一点的。这是importantpart:_hg_st

bash - 运行 bash 脚本的 docker 入口点获取 "permission denied"

我正在尝试dockerize我的node.js应用程序。构建容器后,我希望它运行gitclone然后启动节点服务器。因此,我将这些操作放在.sh脚本中。并在ENTRYPOINT中将脚本作为单个命令运行:FROMubuntu:14.04RUNapt-getupdate&&apt-getinstall-ybuild-essentiallibssl-devgcccurlnpmgit#installgcc4.9RUNapt-getinstall-ysoftware-properties-commonpython-software-propertiesRUNadd-apt-repository-

bash - 运行 bash 脚本的 docker 入口点获取 "permission denied"

我正在尝试dockerize我的node.js应用程序。构建容器后,我希望它运行gitclone然后启动节点服务器。因此,我将这些操作放在.sh脚本中。并在ENTRYPOINT中将脚本作为单个命令运行:FROMubuntu:14.04RUNapt-getupdate&&apt-getinstall-ybuild-essentiallibssl-devgcccurlnpmgit#installgcc4.9RUNapt-getinstall-ysoftware-properties-commonpython-software-propertiesRUNadd-apt-repository-

php - Laravel Homestead 安装 : bash init. sh 不工作

我正在尝试安装LaravelHomestead,以便能够在本地测试我的Laravel项目。我正在学习本教程:http://laravel.com/docs/4.2/homestead在“安装Homestead”部分,我按照第二步“手动通过Git(无本地PHP)”进行操作,我没有在本地安装任何PHP,也无法使用Composer。(难道PHP不应该作为Homestead的一部分安装吗?)我到了这部分:OnceyouhaveinstalledtheHomesteadCLItool,runthebashinit.shcommandtocreatetheHomestead.yamlconfigu

git bash 无法推送分支,错误消息为 : "object directory does not exist"

最近我将我的GitBash更新到最新版本,现在当我尝试将分支推送到远程服务器时,我收到一条错误消息:$gitpush--set-upstreamoriginbugs/purlin_support_reactionsCountingobjects:41,done.Deltacompressionusingupto4threads.Compressingobjects:100%(41/41),done.Writingobjects:100%(41/41),4.91KiB|0bytes/s,done.Total41(delta33),reused0(delta0)remote:error:o

Git Bash 在使用 SSH 执行推送时询问我的用户凭据

我已经在Codaset网站上创建并成功实现了一个Git项目。我正在使用SSH在我的Codaset和我的本地存储库之间进行通信。当我从GitBash执行推送时,GitBash会询问我的用户名凭据。尽管GitBash成功执行了推送,但每次执行推送时都必须输入我的用户凭据,这很乏味。我查阅了很多博客和建议来解决这个问题,但都无济于事。另外,我尝试使用PuTTY.我的问题是:我该如何解决这个问题?或者,我能否开启一些调试功能,以至少确定GitBash要求我提供用户凭据的确切原因? 最佳答案 在您的终端中,输入:gitconfig-l这将显示

git - 在 bash 中创建多词别名?

我想在bash中创建一个别名,这样gitdiffsomefile成为gitdiff--colorsomefile但我不想定义自己的自定义别名aliasgitd="gitdiff--color"因为如果我习惯了这些自定义别名,那么我将失去在没有这些映射的机器上工作的能力。编辑:bash似乎不允许多词别名。除了创建别名之外,还有其他替代解决方案吗? 最佳答案 要为命令创建更智能的别名,您必须编写一个与该命令同名的包装函数,该函数分析参数、转换它们,然后使用转换后的参数调用真正的命令。例如,您的git函数可以识别正在调用diff,并在其中