我正在使用Ant的<parallel>任务来执行多个使用<exec>任务的同时目标,但由于它是交错的,所以很难读取输出.有没有办法更改[exec]每行输出之前出现的标签以使用命令或目标名称?
例如,在运行pdepend和phpcpd我想改变[exec],以[pdepend]和[phpcpd]:
pdepend:
[exec] PHP_Depend 0.10.5 by Manuel Pichler
[exec]
phpcpd:
[exec] Parsing source files:
[exec] phpcpd 1.3.2 by Sebastian Bergmann.
[exec]
[exec] ............................................................ 60
[exec] Found 26 exact clones with 640 duplicated lines in 28 files:
[exec]
[exec] - application/modules/controllers/IndexController.php:16-31
[exec] ............................................................ 120
[exec] application/modules/controllers/ErrorController.php:15-30
[exec]
[exec] - application/modules/controllers/PhotosController.php:24-33
[exec] ............................................................ 180
[exec] ............................................................ 240
Run Code Online (Sandbox Code Playgroud)
变
pdepend:
[pdepend] PHP_Depend 0.10.5 by Manuel Pichler …Run Code Online (Sandbox Code Playgroud) 我正在将文件类型数据读入一个bash数组,并需要在与空格相同的行上打印它的内容.
#!/bin/bash
filename=$1
declare -a myArray
readarray myArray < $1
echo "${myArray[@]}"
Run Code Online (Sandbox Code Playgroud)
我尝试这甚至与回声-n标志仍然打印在换行,我错过了什么,会更好地工作printf的?
尝试创建一个小脚本,能够在输出文件中编写一部分脚本而不做任何更改(按原样)
源文件文本
echo "
yellow=`tput setaf 3`
bel=`tput bel`
red=`tput setaf 1`
green=`tput setaf 2`
reset=`tput sgr0
echo"#${green}Installing packages${reset}#" &&
" >> output.txt
Run Code Online (Sandbox Code Playgroud)
期望的输出:
yellow=`tput setaf 3`
bel=`tput bel`
red=`tput setaf 1`
green=`tput setaf 2`
reset=`tput sgr0
echo"#${green}Installing packages${reset}#" &&
Run Code Online (Sandbox Code Playgroud)
我得到的是:
yellow=^[[33m
bel=^G
red=^[[31m
green=^[[32m
reset=^[(B^[[m
echo"#${green}Installing packages${reset}#" &&
Run Code Online (Sandbox Code Playgroud)
使用CentOS 7最小的全新安装寻找一个适用于完整脚本/文本的解决方案,每行没有变化,我想也可以使用sed来完成...
我明白了:
$ echo -e "D"{a,b,c}".jpg\n"
Da.jpg
Db.jpg
Dc.jpg
Run Code Online (Sandbox Code Playgroud)
注意:输出的第2行和第3行上的Db和Dc之前的额外空格.
这些为什么?
谢谢,丹
编辑:因为我的实际目标中有空格(我本应该写的):
echo -e "Name"{,.}" "{-,}"extra"{,so}" 5v5 "{one,two,No\ four}{,!,\!\!}"\n"
Run Code Online (Sandbox Code Playgroud)
这里的大多数解决方案对我都不起作用(for loop,xarg,tr).Printf没有工作,因为我想要cantesian产品的多个括号扩展.
我结合了3个解决方案(mletterle的\ b,Dennis Williamson的额外空间,以及Jim Dennis的使用少得多的报价)来得到:
echo -e "" \\bName{,.}\ {-,}extra{,so}\ 5v5\ {one,two,No\ four}{,\!,\!\!}\\n
Run Code Online (Sandbox Code Playgroud)
谢谢所有回答的人!我从你的回答中学到了很多东西!
担
我想在shell脚本中使用echo进行格式化.
这是一个小代码片段,它给我的问题:
echo -en "\rFileName : $filename : $index of $lines Completed"
Run Code Online (Sandbox Code Playgroud)
这$filename是一个长度不一的字符串,这会导致终端格式化问题.我怎么能克服这个?
这就是我的意思:
FileName : a800_102 : 6 of 6 Completed
FileName : ersf_1024 : 56 of 56 Completed
Run Code Online (Sandbox Code Playgroud)
当我在终端上显示它时,我想要一个表格格式.
为什么这不起作用?
<?php
mysqli_select_db($connect,"dev");
$response = "Select response from revbut where session='$u'";
$rquery = mysqli_query($connect,$response);
$responseanswer = mysqli_fetch_array($rquery);
$re = $responseanswer['response'];
?>
<script type="text/javascript">
<?php echo $re; ?>
</script>
Run Code Online (Sandbox Code Playgroud)
$re内部JavaScript没有得到回应.但是,如果我把它放在上面的PHP函数中,它就会得到回应.
编辑 - 但为什么这不起作用?
if(<?php echo $re; ?>){
document.getElementById('hide').style.display = "none";
}
Run Code Online (Sandbox Code Playgroud)
如果我将隐藏功能置于if之外 - 它正在工作.
我有这样的代码:
#!/usr/bin/env bash
test_this(){
export ABC="ABC"
echo "some output"
}
final_output="the otput is $(test_this)"
echo "$ABC"
Run Code Online (Sandbox Code Playgroud)
不幸的是,变量ABC没有被设置.
我必须这样调用test_this,因为在我的真实程序中我给它一些参数,它执行各种复杂的操作调用各种其他函数,这些函数导出这个或那个(基于这些参数),最后一些输出字符串被组装以返回.调用它两次,一次获取导出,一次输出字符串就不好了.
问题是:我可以做什么来使输出和输出字符串到位,但只需要调用一个这样的函数?
我很满意的答案(谢谢你paxdiablo):
#!/usr/bin/env bash
test_this(){
export ABC="ABC"
export A_VERY_OBSCURE_NAME="some output"
}
test_this
final_output="the otput is $A_VERY_OBSCURE_NAME"
echo "$ABC" #works!
unset A_VERY_OBSCURE_NAME
Run Code Online (Sandbox Code Playgroud) 我试图将以下行回应到.profile中,但它仍然被许多引号或特殊字符混淆.
bind '"e[A": history-search-backward'
我已经尝试了各种各样的东西,但不能把它固定住.
这就是我目前拥有的:
sudo su -c 'echo "bind \'\"\\e[A\": history-search-backward\'" >> /etc/profile' -
这是它返回的内容:
su: user '"\e[A": does not exist
但是,如果我只是使用:
echo bind \'\"\\e[A\": history-search-backward\'" >> /home/user/testfile
它工作得很好.
我有各种各样的"sudo su -c"回声......"在我的其余部分中工作得很好.
有任何想法吗?
我有一个批处理文件,可以在本地或在构建服务器上运行,以做一些有趣的工作.在本地计算机上,我希望@ECHO OFF您的控制台没有充满调试字符串.在构建服务器上,我宁愿@ECHO ON这样可以调查失败.
如果存在特殊的环境变量(TEAMCITY_PROJECT_NAME),则可以确定构建服务器上下文.所以,我以为我可以做点什么
IF DEFINED TEAMCITY_PROJECT_NAME @ECHO ON ELSE @ECHO OFF
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用,我得到的IF声明与其他一切相呼应......任何想法?