Tag: bash

检查一个元素是否存在于Bash数组中

我想知道是否有一个有效的方法来检查在Bash中的数组是否存在一个元素? 我正在寻找类似于我可以在Python中执行的操作,如: arr = ['a','b','c','d'] if 'd' in arr: do your thing else: do something 我已经看到使用关联数组bash为Bash 4+的解决scheme,但我想知道是否有另一个解决scheme。 请理解,我知道微不足道的解决scheme是在数组中迭代,但我不想这样做。

Xcode .mobileprovision文件是否可以从命令行“安装”?

我试图自动化使用在Mac Mini服务器(OSX 10.7)上运行的bash脚本为我们的客户创build应用程序的过程。 我的脚本是基于github上原本在https://gist.github.com/949831上发布的壮观有用的脚本 我正在使用xcodebuild构build应用程序,然后使用xcrun签署和embeddedmobileprovision文件。 当我用mobileprovision文件完成所有这些工作时,我使用GUI手动安装到Xcode(例如,双击),它工作正常。 如果我只是尝试使用SCP复制到服务器上的mobileprovision文件,它会失败(代码签名错误:无法findconfiguration文件“123abc123”。) 据推测这是因为该文件不是“安装”。 有没有办法从terminal安装mobileprovision文件? 我正在使用SSH,因此使用诸如“打开”命令之类的东西将无法工作。 谢谢!

通过在bash脚本中使用ping来检查主机的可用性

我想编写一个脚本,它会继续检查networking中是否有任何应该整天在线的设备真的在线。 我试图使用ping,但是 if [ "`ping -c 1 some_ip_here`" ] then echo 1 else echo 0 fi 如果input有效或无效的IP地址,则给出1 。 我如何检查一个特定的地址(或更好的IP地址列表中的任何设备)是否脱机?

如何连接两个string来构build一个完整的path

我正在尝试写一个bash脚本。 在这个脚本中我想让用户input一个目录的path。 然后我想在这个string的末尾附加一些string,并build立一些子目录的path。 例如,假设用户input一个像这样的string: /home/user1/MyFolder 现在我想在这个目录下创build2个子目录,并在那里复制一些文件。 /home/user1/MyFolder/subFold1 /home/user1/MyFolder/subFold2 我怎样才能做到这一点?

在多个(新)选项卡中打开现有Gvim中的文件

我在.bashrc里放了一些别名,在gvim中打开一组工程文件,每个文件都在自己的选项卡中: gvim -p <list of file names using absolute paths> 这一切都很好,除了有几组文件,我可能想在任何给定的时间之间移动(我目前的项目使用Ruby on Rails,所以这样解释)。 如果我可以将新选项卡附加到现有的gvim实例,那真的太棒了。 在我的最后一个职位上,我在Vista上工作。 我通过在gvim中打开一些空的标签来解决这个问题,这使我可以右键单击一个文件名并select“在现有的No-Name gvim中打开”。 现在我使用Ubuntu,上下文菜单上没有这样的东西。 有没有办法从命令行做到这一点?

pipe道输出到bashfunction

我有一个简单的function,在一个bash脚本,我想输出stdout作为input。 jc_hms(){ printf "$1" } 我想以这种方式使用它。 var=`echo "teststring" | jc_hms` 当然我用冗余函数echo和printf来简化问题,但是你明白了。 现在我得到一个“未find”的错误,我认为这意味着我的参数分隔是错误的(“$ 1”部分)。 有什么build议么? 最初的jc_hmsfunction是这样使用的: echo `jc_hms "teststring"` > //dev/tts/0 但我想将结果存储在一个variables中,以便进一步处理,然后再发送到串口。 编辑:所以澄清,我不是试图打印的东西串口,我想接口我的bash函数应该“|” pipe道字符,我想知道这是否可能。 编辑:好的,这是完整的function。 jc_hms(){ hr=$(($1 / 3600)) min=$(($1 / 60)) sec=$(($1 % 60)) printf "$hs:%02d:%02d" $min $sec } 我正在使用函数来形成一个string来代码的这一行 songplaytime=`echo $songtime | awk '{print S1 }'` printstring="`jc_hms $songplaytime`" #store resulting string in printstring 其中$ […]

GIT_EDITOR不能使用macvim

这是我在〜/ .bashrc中所拥有的 export GIT_EDITOR='/Applications/MacVim.app/Contents/MacOS/Vim -g ' 当我问题 git commit 然后我得到一个macvim编辑器,但在命令行我看到这个消息 $ git commit Aborting commit due to empty commit message. 如果我使用更改GIT_EDITOR使用textmate然后事情工作正常 export GIT_EDITOR='/usr/local/bin/mate -w' 我不想用textmate。 我想用macvim。 我正在使用mac并使用bash。

如何检查系统日志bash?

在c中我们用这种方式logging: syslog( LOG_INFO, "proxying %s", url ); 在linux中我们如何检查日志?

批量重命名文件夹中的文件的Shell / Bash快捷方式

Shell / Bash中是否有一个快捷方式可以根据正则expression式或其他条件重命名文件夹中的所有文件。 我在这里找的是在我的文件夹文件中,我们可以说有100个文本文件,具有以下命名约定: <longdocumentidentifier>-doc-<counter>.txt. 我需要重新命名上述给定的所有文件只是: doc-<counter>.txt 是否有一个可以帮助我与上述?

如何使bash脚本要求input密码?

我想用密码保证程序的执行。 我该怎么做bash?