当我input“svn add path / to / somefile …”并且选项卡自动完成时,系统应该只完成当前不在 SVN控制下的文件/目录。 同样,当我提交,删除或parsing文件,选项卡完成应该只完成相关的文件,我正在做什么(即,修改,目前在SVN或冲突)。 这在SVN中非常重要,您input的每个文件名都可以从智能自动完成中获益,但它适用于其他程序。 我知道bash有一个bash_completion文件,可以用来以编程方式改变这种行为,但我还没有find一个体面的SVN完成实例,它实际上完成文件名而不是SVN命令名称。 我的问题是:有没有人有这样的设置? 有没有人使用不同的shell或工具来做类似的事情? 有没有人给过这个想法?
我试图sudo一个使用awk的命令,看起来awk在sh -c中的工作方式不同。 echo '1 2' | awk '{print $2}' 2 sh -c "echo '1 2' | awk '{print $2}'" 1 2 为什么发生这种情况?
我想写一个OS X的bash脚本,将改变将添加当前连接的名称服务器。 我有命令来更改DNS服务器,但我需要保留当前名称。 我认为我可以从resolv.conf文件中获取当前名称服务器,然后以某种方式在命令中使用它。 我现在有这个改名字服务器到8.8.8.8: networksetup -setdnsservers AirPort 8.8.8.8 我需要做的是从/etc/resolv.conf中检测当前的名称服务器,然后在上述命令中使用该值作为参数。 例如,说我目前的resolv.conf如下所示: nameserver 9.9.9.9 我想要上面的命令来做到这一点: networksetup -setdnsservers AirPort 9.9.9.9, 8.8.8.8 有没有办法使用正则expression式从resolv.conf中提取IP,然后以某种方式将它用作networksetup命令中的参数?
我试图执行我的ssh服务器上的一个二进制文件,只要我login。但是我可能想推动我的二进制更新与一个单一的SSHlogin,并执行。 我目前的过程是这样的 cat exec | ssh user@host 'cat – > exec; chmod +x exec; ./exec' 这不起作用,因为当我击中这个合理的执行,它似乎只是冻结。 在这之后,我没有得到服务器的回应。 奇怪的是,我已经上传了文件,我可以简单地执行 ssh user@host './exec' 和文件执行得很好。 我知道它正在到达二进制文件的执行过程,并且chmod正确地设置了它在一个命令中不会执行的文件的可执行位。 有没有人有什么build议。
我想测量多less带宽git pull使用,最好通过前缀git命令与所需的程序,即nettally git pull 或者,有没有一些偷偷摸摸的方式来积累nethogs / wireshark数据,并加上执行后的数字? 谢谢
我正在使用FreeBSD-9.1-p5 。 我的security run output : Checking for packages with security vulnerabilities: Database fetched: Wed Sep 24 23:01:24 EDT 2014 bash-4.3.24 pkg info bash : # pkg info bash bash-4.3.24 Name : bash Version : 4.3.24 Installed on : Tue Sep 16 17:17:32 EDT 2014 Origin : shells/bash Architecture : freebsd:9:x86:64 Prefix : /usr/local Categories […]
我遇到了Nagios的check_tcp插件问题,无法find任何需要的插件。 我通过check_tcp发送一个string到一个端口,并得到一个数字,在这种情况下,2580.在这个数字,我需要定义警告和crital值。 例: /usr/lib/nagios/plugins# ./check_tcp -H XXXXXXXXXX -p 51031 -E -s "status\r\n" -d 1 -t 30 -e "SOMEThING" TCP WARNING – Unexpected response from host/socket: 2580|time=0,000358s;;;0,000000;30,000000 我需要像这样的东西: /usr/lib/nagios/plugins# ./check_tcp -H XXXXXXXXXX -p 51031 -E -s "status\r\n" -d 1 -t 30 -w 2500 -c 3000 有无论如何做这个或任何我没有find的插件?
我想知道是否有通过$(…)或`…`调用子shell的显着差异? 例如: a=$(ls -la /tmp | grep vox-*) 和: a=`ls -la /tmp | grep vox-*` 结果将是完全一样的,但我想知道为什么有两种不同的方法,有什么区别,以及我应该使用哪一种。
有时候在无奈之下,为了testing我的问题是不是我所做的权限问题: sudo chmod -R 777 mydir/ 在大多数情况下,这没有帮助,现在我有两个问题;) mydir/里面的文件每个都有不同的权限和所有者,现在我需要将它们恢复到原始状态。 除了创build备份副本,是否有任何巧妙的方式来recursion还原权限? 例如 command_to_save_the_permissions_somewhere mydir/ chmod -R 777 mydir/ command_to_restore_the_permissions_from_somewhere mydir/ 顺便说一句,关于debugging权限问题的任何提示?
有没有办法使文件/目录在bash中自动完成不区分大小写? 比如我想写一下: /opt/ibm/whatever/test [TAB] 而bash会自动完成它: /opt/IBM/Whatever/TESTfile 或者至less只test TESTfile的最后一部分。 我知道文件系统是区分大小写的,我只是不想记住哪些部分是大写的,我想自动完成为我修复path。 如果我有TESTfile和testing文件,只要让我看看他们俩,就像bash今天所做的那样,自动完成冲突。