Articles of bash

用参数调用函数的Bash脚本'if'语句

我想要一个if语句在我的bash脚本中: if [[ "$v" == "A" || my_func $x $y ]] ; then 但我得到错误“有条件的二元运算符预期”。 我已经试过在my_func的调用中把参数放在参数的周围,但是还是不行。 试图玩eval,这也没有帮助。 谢谢你的帮助。

Grep正则expression式Mac地址

我需要使用正则expression式来从大文件中提取mac地址的帮助。 这里是文件的格式: Wed Apr 25 10:15:32 EDT 2012 Client: 00aa11bb22cc mac Wed Apr 25 10:15:34 EDT 2012 Client: aa11bb22cc33 pc 这是我目前正在尝试没有运气: grep -io '[0-9a-f]{12}' file.txt > macs.txt 有任何想法吗? 我只想将mac地址部分提取到名为macs.txt的文件中。

在大文本文件中快速find模式?

我有一个有很多空格分隔的文本列的文件。 一列看起来像这样 – 其中数字是3或更多的数字。 例如<234>,<9473>等 例如。 text…. text… <2329> text… text…. text… <735> text… text…. text… <23229> text… text…. text… <2444> text… 我只想find这些数字,打印或保存使用bash的search结果。 我该怎么做 ? 谢谢 我正在做这个使用Linux [L] Ubuntu的。

bash / scp如何扩展“远程”全局模式?

如果我执行(在bash中): scp remote.machine:/var/log/sy* . 我得到所有与远程机器上的/ var / log / sy *匹配的文件。 syslog 100% 91KB 10.1KB/s 00:09 syslog.1 100% 753KB 62.7KB/s 00:12 syslog.2.gz 100% 55KB 7.9KB/s 00:07 syslog.3.gz 100% 50KB 8.3KB/s 00:06 这怎么能工作? 我曾经有一个印象,那就是在命令执行之前 glob模式被shell扩展了。 我的理解是不正确的?

如何将一个文件映射到一个shell命令来执行当你`cat`文件?

我想创build一个文件并以某种方式将其挂接到一个shell命令,每当我cat该文件时就会执行该命令。 这样该文件的内容就是shell命令的stdout 。 就像/proc/meminfo 。 谢谢

检查string是否与指定的date格式相匹配

我需要我的bash脚本接受date格式string(“strftime”格式),例如: << [%Y-%m-%d%H:%M:%S] >> 然后检查我input文件中的数据(左值)是否与给定的string匹配: 格式string:<< [%Y-%m-%d%H:%M:%S] >> 数据文件: << [2017-05-04 14:49:18] >> 12.1 – 有效 <[2017-05-04 14:49:18]> -1421 – 无效 << [05-04-2017 14:49:18] >> 1231231.02 – 无效 input文件有很多行,我唯一想到的是使用Python: function check_time_format() { python -c "import time; time.strptime(\"$1\",\"$2\")" 2> /dev/null } while read -r lvalue rvalue; do check_time_format "$lvalue" "$TIMEFORMAT" [[ $? != 0 ]] && […]

apt-get在bash脚本中没有按预期工作

我有一个bash中的小脚本,可以自动安装一些软件包。 它使用apt-get来安装一些软件包,其余的来自源代码。 我有我需要的所有源tarred到一个单一的tar文件。 示例脚本如下所示: #!/bin/bash apt-get install wget gcc g++ ruby php5 php5-dev xz-utils bzip2 -y cd /usr/local/bin/ wget my-sources.tar.gz tar zxvf my-sources.tar.gz cd my-sources tar zxvf package1.tar.gz cd package1 ./configure && make && make install cd /usr/local/src/my-sources tar zxvf package2.tar.gz cd package2 ./configure && make && make install cd /usr/local/src/my-sources tar zxvf package3.tar.gz cd […]

将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的错误窗口的屏幕截图: 任何帮助?