我知道如何使用$?检查以前执行的命令的状态,我们可以使用exit命令来创建该状态.但是对于bash中的循环总是返回状态0并且有任何方法可以打破具有某种状态的循环.
#!/bin/bash
while true
do
if [ -f "/test" ] ; then
break ### Here I would like to exit with some status
fi
done
echo $? ## Here I want to check the status.
Run Code Online (Sandbox Code Playgroud) 我需要从文件中grep模式,但需要按顺序.
$ cat patt.grep
name1
name2
$ grep -f patt.grep myfile.log
name2:some xxxxxxxxxx
name1:some xxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)
我得到输出,因为name2首先发现它被打印然后name1被发现它也被打印.但我的要求是按照patt.grep文件的顺序首先获取name1.
我期待输出为
name1:some xxxxxxxxxx
name2:some xxxxxxxxxx
Run Code Online (Sandbox Code Playgroud) 我可以使用debugfs
ext 文件系统中的命令获取文件创建日期/时间,但如何在 XFS 文件系统中检查/获取相同的日期/时间。
我在执行bash脚本命令时遇到MySQL输出格式问题.
如果我在命令行上执行命令,那么我能够按预期格式化输出.
$ mysql -u dbclient -pxxxx GEKONYLOGDB -e "select now(),max(time_stamp) from metrics"
+---------------------+---------------------+
| now() | max(time_stamp) |
+---------------------+---------------------+
| 2012-12-09 14:25:38 | 2012-12-09 14:25:20 |
+---------------------+---------------------+
Run Code Online (Sandbox Code Playgroud)
但是,如果我在脚本中保持相同的命令并执行,我没有得到格式化的输出.
$ cat test
#!/bin/bash
mysql -u dbclient -pxxxx GEKONYLOGDB -e "select now(),max(time_stamp) from metrics"
$ ./test
now() max(time_stamp)
2012-12-09 14:27:52 2012-12-09 14:27:47
Run Code Online (Sandbox Code Playgroud)
所以我需要从脚本输出相同的输出.
谢谢.
我需要将我的变量发送到数组.我有类似的东西
var = "abc|xyz|123";
Run Code Online (Sandbox Code Playgroud)
我想将上述值放入数组中.
$arr[0]="abc";
$arr[1]="xyz";
$arr[2]="123";
Run Code Online (Sandbox Code Playgroud)
我使用以下方式但是在使用这种方式时我没有获得数组大小
$var = "abc|xyz|123";
$var =~ tr/|/\n/; # transforming "|" to new line "\n"
@a = $var;
print $a[0];
Run Code Online (Sandbox Code Playgroud)
完整的转换输出仅发送给变量而不是单个变量.
请帮帮我.
此致,Sriharsha Kalluru.
我想在执行脚本后刷新输出,并且所有输出都不应该出现在我的终端屏幕中。
假设我有以下示例
#!/usr/bin/perl
print "HAI \n";
sleep 5;
Run Code Online (Sandbox Code Playgroud)
如果我执行上面的脚本
# ./file
HAI
#
Run Code Online (Sandbox Code Playgroud)
我想将上述输出作为
# ./file
#
Run Code Online (Sandbox Code Playgroud)
HAI 应该显示 5 秒,它应该被删除,并且终端中不应该有像腻子一样的输出。
我要求搜索确切的单词并打印一行.如果我.
在行中没有任何(点),它会工作.
$cat file
test1 ALL=ALL
w.test1 ALL=ALL
$grep -w test1 file
test1 ALL=ALL
w.test1 ALL=ALL
Run Code Online (Sandbox Code Playgroud)
它也给第二行,我只想要具有确切单词的行test1
.