shell相关内容

如何检测如果一个Git克隆在bash脚本失败

我怎么能判断一个 git的克隆在bash脚本有一个错误? git的克隆git@github.com:我-的用户名/我-repo.git 如果有一个错误,我想简单退出1 ; 解决方案 下面是一些常见的形式。这是最好的选择取决于你怎么做。您可以使用一个脚本任何子集或将它们组合没有它是坏的风格。如果! failingcommand 然后 回声>和2消息 1号出口 科幻 ..
发布时间:2016-08-02 14:43:00 服务器开发

出口变量在另一个文件中定义

我有一个包含几个需要被设置为一个环境变量变量的脚本 变量列表不断调整,修改它在我到底是不是一种选择。任何想法,我怎么会去这样做呢? 样本文件foo.sh FOO =“FOOFOO” BAR =“BARBAR” 解决方案 有一个变量和环境变量之间的差。如果执行。 foo.sh 和 foo.sh 包含行 FOO =值,则变量 FOO 将当前进程分配。它不是一个环境变量。成为环境变量(因此 ..
发布时间:2016-08-02 14:42:07 服务器开发

如何获得目录名的在bash的最后一部分

假设我有一个文件 /from/here/to/there.txt ,并希望得到只是其目录名的最后一部分来而不是从/这里/至,我该怎么办? 解决方案 您可以使用基本名,即使它不是一个文件。使用目录名脱光文件名,然后使用基本名来获取字符串的最后一个元素: DIR =“/从/这里/到/ there.txt” DIR =“$(目录名称$ DIR)”#返回“/从/听到/为” DIR =“$($基 ..
发布时间:2016-08-02 14:41:38 Linux/Unix

通配/路径扩展结肠癌作为分隔符

我怎么可以转换包含水珠字符的字符串,如 的/ var / lib中/宝石/ * /箱 成文件名的冒号分隔字符串(即PATH兼容)匹配模式? 即。 回声的/ var / lib中/宝石/ * /斌将返回 /var/lib/gems/1.8/bin /var/lib/gems/1.9.1/bin 我想 /var/lib/gems/1.8/bin:/var/lib/gems/1.9.1/bin ..
发布时间:2016-08-02 14:41:22 Linux/Unix

如何使用bash做一些事来的每一个文件的目录中?

我开始用这样的: 命令* 但是,当该目录为空它不工作;通配符*变成文字“*”字符。所以,我切换到这一点:为我在*;做 ... DONE 这工作,但同样,如果没有该目录是空的。我使出使用LS:对我`LS -A` 但当然,然后在他们的空间得到拆分的文件名。我试着套结了-Q开关:对我`LS -AQ` 这将导致仍然被分割的名字,只在开头一个引号字符,名称的结束。我失去了一些东西在这 ..
发布时间:2016-08-02 14:41:19 Linux/Unix

为什么我会收到&QUOT:无此类文件或目录"当试图执行一个bash脚本?

我试图执行一个bash脚本(GIT-FTP),但我似乎无法做到这一点。这是发生了什么: [trusktr @飞船〜] $〜/脚本/的git-FTP : 无此文件或目录 该文件具有权限755。 这是脚本的内容: http://pastie.org/3567556 为什么会出现这个错误?我能做些什么来解决这个问题? 解决方案 我已经看到,如果脚本有Windows行结尾,而不是Unix行 ..
发布时间:2016-08-02 14:41:16 Linux/Unix

暂时禁用一个别名/引用一句话用一个反斜杠

在我的问题的第一部分,我将提供一些背景信息作为 服务社会。第二部分包含实际的问题。 这将是相当长的。我们对此深感抱歉。 第一部分 假设我已经创建了以下的别名: 别名LS ='LS -r“ 我知道如何暂时unalias(即覆盖此别名)在以下 方式使用: 1)命令的完整路径: /斌/ LS 2)命令替换: $(其中LS) 3)命令内置:命令ls 4)双引号:“LS” ..
发布时间:2016-08-02 14:41:12 Linux/Unix

导入的shell脚本功能

嗨,我在shell脚本新的。其实我在文件 ABC 函数 ERR()的文件与 .SH 扩展他们是简单的文件但#开始!/斌/庆典 ERR(){ 回声“$ {1}”>和2 } 现在我将它导入在不同的文件 XYZ 来源ABC someFunction(){ ERR“无法备份” } 是不是进口的正确方法? 解决方案 是的,你可以做你喜欢或以上提到的一样:。 FILENAME 该文 ..
发布时间:2016-08-02 14:41:09 Linux/Unix

管道和重定向

什么是管道和重定向之间准确的区别? 我们应该在哪里使用的管道,我们应该在哪里使用重定向? 他们是如何工作的内部? 解决方案 重定向是(大部分)的文件(从文件重定向流/)。 管道是过程:你管(重定向)从一个进程流到另一个。 实际上你真正做的是“连接”的一个标准流(通常为标准输出)一个进程到另一个进程(标准流通常标准输入),通过管道。 管道也有在同步“副作用”:他们阻止一个进程(在读 ..
发布时间:2016-08-02 14:41:07 Linux/Unix

击:在脚本动态标准输入重定向

我试图做到这一点来决定是否标准输入重定向到文件或不: [...这里的一些条件...]&功放;&安培;输入= $文件名||输入=与“& 0” ./myScript< $输入 但是,这并不因为当变量$输入“&放大器; 0”的工作,除bash的$ P $点它作为一个文件名 不过,我只是做:如果[... ...条件];然后 ./myScript< $文件名 其他 ..
发布时间:2016-08-02 14:40:55 服务器开发

马币相当于和MV在Windows .CMD

我有一个shell脚本下面,我想下面的行转换为CMD file..can人提供关于什么是在CMD文件窗口中相当于“RM”及“MV”输入的窗口。 RM -f $ {BUILD_ID} / $ {BUILD_ASIC} * rampatch * MV $ {BUILD_ID} / $ {BUILD_ASIC} * rampatch * $ {} BUILD_ID / EMUL / 解决方案在 ..
发布时间:2016-08-02 14:40:38 Linux/Unix

在bash shell脚本识别接收到的信号名称

当接收到信号,我可以使用陷阱执行某些命令。如果指定的任何信号的接收,显示的hello world“。例如: 陷阱“回声世界你好”1 2 但我怎么能打印/识别接收到的信号的名字吗? 解决方案 (如果你只有一个信号的数量和所需的名称,杀-l $ SIGNAL_NUM 打印信号的名称,那么就可以避免使用信号名称,而不是在你的电话号码,以陷阱如下)。 这个答案说,只有这样,才能确定哪些信号时, ..
发布时间:2016-08-02 14:40:36 服务器开发

什么是对&QUOT的怪异语法的原因;情况下与QUOT;在bash / zsh的脚本语句?

从一个程序员的角度看则shell脚本仅仅是另一种编程语言,其中一个有学习和符合语言的规则。然而,我不得不承认,这个语法是我见过在一个相当常用的语言是最怪异的风格。难道壳取源于它从一个裔语言年长此语法?是否有特殊含义/在语法意义? 作为一个例子,这里是一个小片段,我从 ..
发布时间:2016-08-02 14:40:06 Linux/Unix

执行多个shell脚本同时

我想要做以下几件事:搜索结果 执行多个shell脚本(这里是2脚本)兼任。 等待两个脚本完成 转储每个脚本的返回值 然而, main.sh 不能按预期工作。 结果 main.sh #!/斌/庆典RET1 =`/ a.sh`和放大器。 RET2 =`/ b.sh`如果[“$ {} RET1”=“”-a“$ {} RET2”=“”];然后 睡眠1 其他 回声$ ..
发布时间:2016-08-02 14:39:31 Linux/Unix

shell脚本执行检查,如果它已经运行或不

GNU bash中,版本1.14.7(1) 我有一个剧本叫“ abc.sh ” 我仅从 abc.sh 脚本检查此... 里面我写了下面的语句 状态=`PS -efww | grep的-w“abc.sh”| grep的-v grep的| grep的-v $$ | AWK'{打印$ 2}'` 如果[! -z“$状态”];然后 回声“[`date`]:abc.sh:进程已经运行” ..
发布时间:2016-08-02 14:39:23 Linux/Unix

跨平台getopt的一个shell脚本

我刚刚发现了 getopt的是不是跨平台(特别是FreeBSD和Linux)。什么是这个问题最好的解决方法? 解决方案 使用 getopts的(带有“S”)。 根据猛砸FAQ 35 : 除非它的版本与UTIL-Linux操作系统,并使用其先进的模式,从来没有使用getopt的(1)。 getopt的不能处理空参数字符串或嵌入空白的参数。请忘记它曾经存在过。 该POSIX外壳( ..
发布时间:2016-08-02 14:39:06 Linux/Unix

我该如何排序文件通过版本号的名字呢?

在目录中的“数据”是这些文件: 命令1.9A-设置结果 命令2.0A-设置结果 命令2.0C-设置结果 命令2.0设置 我想对文件进行排序,以得到这样的结果: 命令1.9A-设置结果 命令-2.0-设置结果 命令2.0A-设置结果 命令2.0C-设置 这个我试过 查找/数据/ -name'命令 - * - 设置“|排序--version排序--field分 ..
发布时间:2016-08-02 14:38:45 Linux/Unix

Linux的shell(bash)的虚拟仪器的SPLITVIEW

我一直在寻找,没有结果的bash内六整合,如功能在Emacs;问题是:我有六有2次打开,一个具有打开:分裂命令,我想通过第二视图使用bash,而我编辑一个文件在第一;如果我做:SH 在编辑第二种观点,整个会议暂停和bash外壳被打开,但我不能够编辑该文件,并使用在外壳同一时间.. 我不想使用<!指挥GT; 或外部程序,如“终结者”..是否有办法解决吗? THX 解决方案 您是否尝 ..
发布时间:2016-08-02 14:38:16 Linux/Unix

源从一个.bash_profile文件目录下的所有文件

我需要允许多个应用程序追加到一个系统变量(在此情况下,$ PYTHONPATH)。我想指定的目录中的每个应用程序可以添加一个模块(例如.bash_profile_modulename)的。尝试过这样的事情在〜/ .bash_profile中: 查找/主页/麦克风/ -name“.bash_profile_ *”|同时读取文件;做 来源“$ FILE” 完成的; ,但它不会出现工作 在此先感谢 ..
发布时间:2016-08-02 14:37:30 Linux/Unix