Tag: bash

让ssh在目标机器的后台执行一个命令

这是一个关于如何在shell脚本中使用ssh的后续问题? 题。 如果我想在该机器的后台运行的远程机器上执行命令,如何获得ssh命令返回? 当我试图在命令的末尾添加&符号(&)时,它会挂起。 命令的确切forms如下所示: ssh user@target "cd /some/directory; program-to-execute &" 有任何想法吗? 有一件事要注意的是,login到目标机器总是产生一个文本横幅,我有SSH密钥设置,所以不需要密码。

如何在bash中声明二维数组

我想知道如何在bash中声明一个二维数组,然后初始化为0。 在C中看起来像这样: int a[4][5] = {0}; 我怎么给一个元素赋值? 如在C: a[2][3] = 3;

bash正则expression式与报价?

下面的代码 number=1 if [[ $number =~ [0-9] ]] then echo matched fi 作品。 如果我尝试在正则expression式中使用引号,则会停止: number=1 if [[ $number =~ "[0-9]" ]] then echo matched fi 我也尝试了"\[0-9\]" 。 我错过了什么? 有趣的是, bash先进的脚本指南build议这应该工作。 Bash版本3.2.39。

使用Bash将绝对path转换为给定当前目录的相对path

例: absolute="/foo/bar" current="/foo/baz/foo" # Magic relative="../../bar" 如何创build魔术(希望不要太复杂的代码…)?

如何在Bash中比较string

如何将一个variables与一个string进行比较(如果匹配,则执行一些操作)?

内部连接两个文本文件

希望在两个不同的文本文件上执行内部连接。 基本上我正在寻找GNU连接程序的内部连接等价物。 这样的事情是否存在? 如果不是, awk或sed解决scheme将是最有帮助的,但我的第一个select将是一个Linux命令。 这里是我正在寻找的一个例子 文件1: 0|Alien Registration Card LUA|Checklist Update 1|Alien Registration Card LUA|Document App Plan 2|Alien Registration Card LUA|SA Application Nbr 3|Alien Registration Card LUA|tmp_preapp-DOB 0|App – CSCE Certificate LUA|Admit Type 1|App – CSCE Certificate LUA|Alias 1 2|App – CSCE Certificate LUA|Alias 2 3|App – CSCE Certificate LUA|Alias 3 4|App – CSCE […]

检查一个Bash数组是否包含一个值

在Bash中,testing数组是否包含特定值的最简单方法是什么? 编辑 :在答案和评论的帮助下,经过一些testing,我想出了这个: function contains() { local n=$# local value=${!n} for ((i=1;i < $#;i++)) { if [ "${!i}" == "${value}" ]; then echo "y" return 0 fi } echo "n" return 1 } A=("one" "two" "three four") if [ $(contains "${A[@]}" "one") == "y" ]; then echo "contains one" fi if [ $(contains "${A[@]}" "three") […]

访问bash命令行参数$ @ vs $ *

在许多SO问题和bash教程中,我看到可以通过两种方式访问​​bash脚本中的命令行参数: $ ~ >cat testargs.sh #!/bin/bash echo "you passed me" $* echo "you passed me" $@ 其结果是: $ ~> bash testargs.sh arg1 arg2 you passed me arg1 arg2 you passed me arg1 arg2 $*和$@什么区别? 何时应使用前者,何时使用后者?

(冒号)GNU Bash内build的目的是什么?

一个无所作为的命令的目的是什么,只不过是一个评论领袖,而实际上却是一个内在的壳呢? 比每次调用大概40%的脚本插入评论要慢很多,这取决于评论的大小。 我能看到的唯一可能的原因是: # poor man's delay function for ((x=0;x<100000;++x)) ; do : ; done # inserting comments into string of commands command ; command ; : we need a comment in here for some reason ; command # an alias for `true' (lazy programming) while : ; do command ; done 我想我真正想要的是它可能具有的历史应用。

Bash工具从文件中获得第n行

有没有一个“规范”的方式呢? 我一直在使用head -n | tail -1 head -n | tail -1这个技巧,但我一直想知道是否有一个Bash工具,专门从文件中提取一行(或一系列的行)。 “规范”是指一个主要function就是这样的程序。