草庐IT

linux - 将字符串通过管道传递给 GNU Date 以进行转换 - 如何使其从标准输入中读取?

GNUDate允许您像这样转换日期字符串:$date+"%d%m%Y"-d"yesterday"04012012是否可以通过管道将日期字符串传递给它进行转换?我试过明显的-d-像这样:$echo"yesterday"|date+"%d%m%Y"-d-但它打印今天的日期而不是昨天。是否可以将值传递给它或者它不支持?谢谢。 最佳答案 date-f告诉它做与-d相同的事情,除了文件中的每一行......你可以将文件名设置为-使其从标准输入读取。echo"yesterday"|date+"%d%m%Y"-f-

linux - 将字符串通过管道传递给 GNU Date 以进行转换 - 如何使其从标准输入中读取?

GNUDate允许您像这样转换日期字符串:$date+"%d%m%Y"-d"yesterday"04012012是否可以通过管道将日期字符串传递给它进行转换?我试过明显的-d-像这样:$echo"yesterday"|date+"%d%m%Y"-d-但它打印今天的日期而不是昨天。是否可以将值传递给它或者它不支持?谢谢。 最佳答案 date-f告诉它做与-d相同的事情,除了文件中的每一行......你可以将文件名设置为-使其从标准输入读取。echo"yesterday"|date+"%d%m%Y"-f-

c - 在 C 中,如何在进行 execvp() 或类似调用时将 stdin/stdout/stderr 重定向到文件?

我有以下代码:pid_tpid=fork();if(pid==-1){//...}elseif(pid==0){stdin=someopenfile;stdout=someotherfile;stderr=somethirdopenfile;execvp(args[0],args);//handleerror...}else{//...}问题是,execvp()调用的输入/输出仍然是控制台,而不是文件。显然我做错了什么,正确的方法是什么? 最佳答案 正确的方法是使用dup2将文件描述符STDIN_FILENO、STDOUT_FILE

c - 在 C 中,如何在进行 execvp() 或类似调用时将 stdin/stdout/stderr 重定向到文件?

我有以下代码:pid_tpid=fork();if(pid==-1){//...}elseif(pid==0){stdin=someopenfile;stdout=someotherfile;stderr=somethirdopenfile;execvp(args[0],args);//handleerror...}else{//...}问题是,execvp()调用的输入/输出仍然是控制台,而不是文件。显然我做错了什么,正确的方法是什么? 最佳答案 正确的方法是使用dup2将文件描述符STDIN_FILENO、STDOUT_FILE

linux - 如何从外部进程将数据写入现有进程的 STDIN?

我正在寻找从外部进程将数据写入现有进程的STDIN的方法,并发现了类似的问题HowdoyoustreamdataintotheSTDINofaprogramfromdifferentlocal/remoteprocessesinPython?在stackoverlow中。在该线程中,@Michael说我们可以在如下路径中获取现有进程的文件描述符,并允许在Linux上将数据写入其中。/proc/$PID/fd/因此,我创建了一个下面列出的简单脚本来测试从外部进程向脚本的STDIN(和TTY)写入数据。#!/usr/bin/envpythonimportos,sysdefget_ttyna

linux - 如何从外部进程将数据写入现有进程的 STDIN?

我正在寻找从外部进程将数据写入现有进程的STDIN的方法,并发现了类似的问题HowdoyoustreamdataintotheSTDINofaprogramfromdifferentlocal/remoteprocessesinPython?在stackoverlow中。在该线程中,@Michael说我们可以在如下路径中获取现有进程的文件描述符,并允许在Linux上将数据写入其中。/proc/$PID/fd/因此,我创建了一个下面列出的简单脚本来测试从外部进程向脚本的STDIN(和TTY)写入数据。#!/usr/bin/envpythonimportos,sysdefget_ttyna

linux - 执行远程命令时SSH错误 : "stdin: is not a tty"

我正在尝试使用ssh连接到机器1,然后使用ssh连接到另一台机器2。但是得到这个错误:sshuser@computerone.com'sshotheruser@computertwo.com'stdin:isnotatty 最佳答案 当登录到shell时,远程主机假定连接是由人类用户完成的。因此,可以合理地期望他们可以控制客户端的标准。也就是说,用户是通过键盘在终端上进行输入。如果远程主机检测到用户不是人类(因为输入不是终端-tty,而是另一个进程),它可能会警告用户这种意外情况。所讨论的不当行为的演示以及如何避免它(manssh并

linux - 执行远程命令时SSH错误 : "stdin: is not a tty"

我正在尝试使用ssh连接到机器1,然后使用ssh连接到另一台机器2。但是得到这个错误:sshuser@computerone.com'sshotheruser@computertwo.com'stdin:isnotatty 最佳答案 当登录到shell时,远程主机假定连接是由人类用户完成的。因此,可以合理地期望他们可以控制客户端的标准。也就是说,用户是通过键盘在终端上进行输入。如果远程主机检测到用户不是人类(因为输入不是终端-tty,而是另一个进程),它可能会警告用户这种意外情况。所讨论的不当行为的演示以及如何避免它(manssh并

linux - 如何将输入管道输入到 linux 上的 sublimetext?

如何从stdin接收文本到sublimetext编辑器?在vim中它是这样工作的:echo"potatopotatopotato"|vim-同样的事情也适用于gedit,创建一个包含内容的新文档。Sublimetext似乎刚刚开始在新选项卡中编辑一个名为“-”的文件,是否有其他一些shell技巧可以工作? 最佳答案 假设Sublime仍然不支持打开STDIN,一个直接的解决方案是将输出转储到一个临时文件,在sublime中打开该文件,然后删除该文件。假设您在bin目录中创建了一个名为tosubl的脚本,如下所示:#!/bin/bas

linux - 如何将输入管道输入到 linux 上的 sublimetext?

如何从stdin接收文本到sublimetext编辑器?在vim中它是这样工作的:echo"potatopotatopotato"|vim-同样的事情也适用于gedit,创建一个包含内容的新文档。Sublimetext似乎刚刚开始在新选项卡中编辑一个名为“-”的文件,是否有其他一些shell技巧可以工作? 最佳答案 假设Sublime仍然不支持打开STDIN,一个直接的解决方案是将输出转储到一个临时文件,在sublime中打开该文件,然后删除该文件。假设您在bin目录中创建了一个名为tosubl的脚本,如下所示:#!/bin/bas