Articles of bash

将input传递给bash中的交互式命令行程序

我有一个有自己的提示程序 example_program> 我需要通过这个程序运行一系列的命令 example_program> command_A example_program> command B Please enter input: [input_here] example_program> command C 我可以通过shell脚本中的以下行发送命令A,B,C: (echo "command_C" && cat) | (echo "command_B" && cat) | (echo "command_A" && cat ) | example_program 如何input所需的input,然后在命令B([input_here])之后提示input? 我无权发送或期望。

使用shell脚本使用sedreplacestring的特定字符

我必须用一些其他的值replace一个特定的文件行。 例如:我有一个文件的内容如下: request.timing=0/10 * * * * * ? 现在,我想用dynamic值replace10(或者具体来说,在那个地方的任何值)。 例如,如果我想用20replace它,那么文件应该更新为: request.timing=0/20 * * * * * ? 有人能帮我吗? 我使用sed如下: sed -i "s/request.timing=0\/??/request.timing=0\/$poller" poller是我们通过的dynamic值。

git的Windows 7期待开发null找不到错误

我在Windows 7 SE 64bit上使用Git gui或Git bash,而且我不断收到一个奇怪的错误。 之前工作正常。 我没有做任何更改或安装/卸载任何东西。 我已经重新安装并重新启动我的电脑,但我仍然得到相同的错误。 这里是:软重启后,我得到了 Cannot determine Git version: fatal: open/dev/null or dup failed: No such file or directory Git gui requires Git 1.5.0 or later" 这里是popup的错误窗口的屏幕截图: 任何帮助?

在bash中出现错误 – 一元运算符预期存在-e

我想testing两个variables是否存在,我用“读”来创build它。 如果用户input我想要的两个variables中的一个,它将显示一个错误。 有我的代码: while true; do echo "Saisissez deux variables x et y sous la forme [xy]" read xy if [ !-e $x ] || [ !-e $y ] <<<<<< problem ligne then echo "Vous devez renseigner deux nombres x et y" elif [ $x = "." ] then exit 0 else calcul $x $y […]

Bash – 如何计算指令数量?

我有一些* .s汇编文件。 我想要统计它们包含的指令数量。 例如,要计算所有的MUL指令,我需要: cat *.s | grep -P '\t'"mul" | wc -l 这给了我所有的指令复合数。 我想有这样的输出: mul: 893 add: 12054 sub: 2356 … 问题是没有目标平台支持的指令表。 每个目标平台都有不同的指令集。 支持的指令必须从现有的程序集文件中推导出来。 我可以在没有Perl / Python代工的情况下在Bash中完成吗?

使用ps的线程

我想检查进程线程对进程RSS,VSZ和SZ值的贡献。 我怎样才能做到这一点。 因为如果我这样做: ps w -eL -o pid,tid,%cpu,cputime,%mem,sz,rss,vsz,command 我得到了tid,但是一个进程的所有线程的所有其他值都是相同的。 我甚至可以用ps做这个吗?

以符号表示法(包括粘滞位)的unix权限转换器

我需要使用像这样的符号表示法来获取文件或文件夹更具 human readable格式的Access rights in u=rwx,g=srwx,o-rwx (可能是sticky bits) 使用stat –format '%a'格式stat –format '%a' ,我得到格式为2770 ,八进制格式的结果 使用stat –format '%A' ,我得到一个格式为drwxrws—的结果,可读性强 我需要一个命令来获得像u=rwx,g=srwx,o-rwx (与chmod symbolic modes兼容) [u|g|o] :用于user / group / other或者全部 [=] :授予的权利 [rwxst] :授予的订单重要性的列表 [-rwx] :对于被撤销的权利(如果没有授予权利) 我已经尝试过(但它不处理所有的情况下,特殊的粘性位): stat –format '%A' temp | sed -E 's/^.(…)(…)(…)/u=\1,g=\2,o=\3/g' | # split by triplet sed 's/=—/-rwx/g' | # revoker grants […]

用日志中的主机名replaceIP

我正在寻找一个bash脚本来读取日志并用主机名replaceIP地址。 有没有人有任何想法如何做到这一点?

redirect之后的一个参数能做什么吗?

redirect被忽略之后是否有任何争论,还是会有意想不到的后果? 我很惊讶地发现,我在bash脚本中犯的一个错字没有任何区别,因为它是在redirect之后指定的。 比如我预料它会抱怨这样的事情 ./foo.sh > foo2.log whoops I made a typo 但它不会抛出任何错误。 我不得不添加一个分号来让它像命令和错误一样运行 ./foo.sh > foo2.log; whoops I made a typo 更令我吃惊的是,linuxredirect后并没有放弃,比如说 ./foo.sh > foo2.log whoops I made a typo > command_is_still_going.log 是绝对好的,command_is_still_going.log仍然被创build “哎呀,我犯了一个错字”的说法完全被忽略了,还是会导致一些不必要的行为? 因为我倾向于使用这个很多。

BASH | 如何获取bash中一行的字段数(使用剪切?)

鉴于以下数据: field1;field2;field3;field4; 如何获得这一行的字段数? 例如,这个命令应该在这里给出4 。 实际上,每一行我没有相同数量的内容,但我需要全部归还。 一旦我设法计算字段的数量,我也将设法做一个循环来获取它们。 (操作系统:Ubuntu 13.04) 预先感谢您的帮助。