我有 2 张完全相同的格式、相同大小和相同品牌的 SD 卡。我想同时dd成像/dev/disk2和/dev/disk3。
伪代码
sudo dd bs=1m if=/Users/masi/2016-05-10-raspbian-jessie.img of={/dev/disk2,/dev/disk3}
Run Code Online (Sandbox Code Playgroud)
如何dd从一个输入到多个输出 SD?
假设我运行了一些进程:
#!/usr/bin/env bash
foo &
bar &
baz &
wait;
Run Code Online (Sandbox Code Playgroud)
我像这样运行上面的脚本:
foobarbaz | cat
Run Code Online (Sandbox Code Playgroud)
据我所知,当任何进程写入 stdout/stderr 时,它们的输出永远不会交错——stdio 的每一行似乎都是原子的。这是如何运作的?什么实用程序控制每行的原子性?
鉴于没有可显示的屏幕,标准输出at和cron任务的去向在哪里?
它没有出现在作业开始的目录中,也没有出现在我的主目录中。
鉴于我不知道如何调试或跟踪后台作业,我怎么能真正解决这个问题?
我是一个相对的Linux新手。我正在尝试学习如何使用,at以便我可以安排任务稍后开始,而无需使用sleep. 我一直在看这个以前的问题寻求帮助。
我的问题是,在我创建的以下示例 bash 脚本中,为什么“运行”永远不会——据我所知——打印到标准输出(即我的 bash 控制台)?
#!/bin/bash
echo "Started"
at now + 1 minutes <<EOF
echo "Running"
EOF
echo "Finished"
Run Code Online (Sandbox Code Playgroud)
我看到的唯一输出是,例如:
Run Code Online (Sandbox Code Playgroud)Started warning: commands will be executed using /bin/sh job 3 at Fri Jul 12 17:31:00 2013 Finished
是否在警告中找到了我的问题的答案?如果是这样,/bin/sh与标准输出有何不同?
我正在尝试编写一个简单的脚本来监视我的网络状态,而没有所有ping的输出:
ping -q -c 1 google.com > /dev/null && echo online || echo offline
Run Code Online (Sandbox Code Playgroud)
问题是,当我没有连接时,我的输出中仍然收到一条错误消息:
ping: unknown host google.com
offline
Run Code Online (Sandbox Code Playgroud)
如何在输出中保留此错误消息?
我认为 curl 可以完成这项工作。我在脚本中写道:
#!/bin/sh
function test {
res=`curl -I $1 | grep HTTP/1.1 | awk {'print $2'}`
if [ $res -ne 200 ]
then
echo "Error $res on $1"
fi
}
test mysite.com
test google.com
Run Code Online (Sandbox Code Playgroud)
这里的问题是无论我做什么我都无法停止将以下内容打印到标准输出:
% Total % Received % Xferd Average Speed Time Time Time Current
Run Code Online (Sandbox Code Playgroud)
我想要一个 cronjob 来运行这个脚本,如果它写了这样的消息,那么每次我运行它我都会收到一封电子邮件,因为有些东西已经被打印到了 cron 的标准输出中,即使网站可能很好。
如何在不让垃圾进入标准输出的情况下获取状态代码?除了标准输出的奖励垃圾阻止我使用它之外,此代码有效。
当一个进程中断时,我知道不会再返回任何输出。但总是在中断ping命令之后,我们有执行的统计信息,据我所知,这是输出的一部分。
amirreza@time:~$ ping 4.2.2.4
PING 4.2.2.4 (4.2.2.4) 56(84) bytes of data.
64 bytes from 4.2.2.4: icmp_seq=1 ttl=51 time=95.8 ms
64 bytes from 4.2.2.4: icmp_seq=2 ttl=51 time=92.3 ms
^C
--- 4.2.2.4 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 92.321/94.052/95.783/1.731 ms
amirreza@time:~$
Run Code Online (Sandbox Code Playgroud)
它是如何工作的?
我的文件包括以下内容;大致:
username:username:username:username:username
Run Code Online (Sandbox Code Playgroud)
上一行继续到大约 600 个字符。
我使用该awk命令是为了将其用作从命令行发送的 API/HTTP 请求中的参数。
我正在使用我的脚本获取“关注”我的用户帐户列表,每 24 小时左右,将硬盘上的原始列表与新输出的用户名列表进行比较(并回显谁不再关注我)我。我将不得不使用 bash 将我的逻辑封装到一个循环中。测试每个用户名。
我目前的脚本:
user=$(awk -F: '{ print $1 }' FILE) # Grab $User to use as an argument.
following=$(exec CURRENT_FOLLOWERS) # Outputs the new file
echo "X amount of users are following you on 78B066B87AF16A412556458AC85EFEF66155"
SAVE CURRENT FOLLOWERS TO NEW A FILE.
if [[ DIFFERENCE IS DETECTED ]] ; then
echo -ne "$User NO LONGER FOLLOWING YOU\r"
else echo -ne "This user is following you …Run Code Online (Sandbox Code Playgroud) 我正在使用尾随日志文件tail -f messages.log,这是输出的一部分:
Run Code Online (Sandbox Code Playgroud)Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce eget tellus sit amet odio porttitor rhoncus. Donec consequat diam sit amet tellus viverra pellentesque. tail: messages.log: file truncated Suspendisse at risus id neque pharetra finibus in facilisis ipsum.
它显示tail: messages.log: file truncated文件何时被自动截断并且应该发生这种情况,但我只想tail向我显示没有此截断消息的输出。
我试过使用,tail -f messages.log | grep -v truncated但它仍然向我显示消息。
有什么方法可以抑制此消息?
我目前正在为一个项目编写程序。
它用于盲文阅读系统,其中我有一个通过 USB 连接的盲文显示器,该显示器由名为 brltty 的程序控制。
该项目的要求之一是能够连接多个盲文显示器,尽管只让主显示器控制系统。
我认为最简单的方法是,不必向程序中的每个 brltty 实例发送命令,我可以将输出到主 USB 的内容镜像到每个 USB 端口。
这可能吗?