我有一个带有命令行界面的 CI 服务器,它允许我远程启动一项工作(jenkins
CI 服务器和jenkins-cli.jar
工具)。
在我开始工作后,我tail -f
记录了日志(抱歉命令混乱):
ssh -t my-jenkins-host.com "tail -f \"/var/lib/jenkins/jobs/$job_name/builds/\`ls -ltr /var/lib/jenkins/jobs/$job_name/builds/ | grep '^l' | tail -n 1|awk '{print \$9}'\`/log\""
Run Code Online (Sandbox Code Playgroud)
作业成功完成后,通常至少 5 分钟后,我在输出中得到以下行:
Finished: SUCCESS
Run Code Online (Sandbox Code Playgroud)
有没有什么好方法可以在这一点上停止拖尾日志?即有像tail_until 'some line' my-file.log
命令吗?
奖励:如果您提供的答案在 SUCCESS 匹配时返回 0,FAILURE 匹配时返回 1,并且您的解决方案适用于 mac,则可以获得额外的积分!(我相信这是基于 bsd 的)
每当我搜索如何创建组时,示例总是指向第 8 章(即 shell)命令。当我查看常见系统调用列表(即维基百科页面中列出的那些)时,我看到了设置和获取组 ID 的命令,但没有详细说明它们是如何创建的。
我发现一些代码似乎获取了该/etc/groups
文件的文件系统锁,但某些系统(即Android)没有此文件。
操作系统如何知道什么是组?它纯粹是文件和进程条目的元数据吗?
当我ssh
进入我们的一台服务器时,我无法输入正斜杠字符,这使得几乎无法执行任何操作(例如ls /
)。 我怎样才能让正斜杠工作?
一些附加信息:
/etc/issue
声称它正在运行“CentOS 5.7 版(最终版)”ssh me@some-host cat /etc/issue
echo $TERM
报告 xterm-256color
我不知道这是否是有意义的任何人(它没有意义对我来说),但我diff
“爱德/etc/inputrc
的错误服务器与一个作品,得到了以下几点:
$ diff /tmp/{good,bad}_inputrc
1c1
< # do not bell on tab-completion
---
> /# do not bell on tab-completion
37a38,49
>
> # Home Key
> "\e[7~":beginning-of-line
>
> # End Key
> "\e[8~":end-of-line
>
> # Delete Key
> "\e[3~":delete-char
>
> # Insert …
Run Code Online (Sandbox Code Playgroud)