[英]How do I capture the current command and send it into a script as an argument?
我希望这个问题的标题不会太混乱。
我想要做的是当指定的命令在shell中运行完毕后给自己发送一封电子邮件。 为此,我编写了一个简单的脚本,它接受一个参数并向我发送一封带有参数的电子邮件作为消息文本。 我的想法是能够以下列方式执行一个我知道需要很长时间的命令:
./commandThatTakesALongTime; ./emailingScript <some argument>
这里显而易见的答案是再次编写命令的名称,并将其作为字符串传递,但通常我会有大量参数的命令,所以我更喜欢它自动获取执行的内容。
我尝试过使用!!:p的各种组合,但这似乎不起作用。 有小费吗?
ETA:我正在寻找一些我可以传递的东西,基本上只是打印“./commandThatTakesALongTime” - 这样的东西存在吗? 我这样做的原因是因为我需要在执行命令后保留环境。
写一个这样的脚本:
#!/bin/bash
if "$@" ; then
echo "$@" | mail -s 'command complete' some@email.address
else
echo "Command failed!"
fi
将其另存为exec_and_mail
并使其可执行。
你将它作为exec_and_mail some_command -with arguments --passed --to it
运行exec_and_mail some_command -with arguments --passed --to it
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.