【问题标题】:how to shorten linux command to one line如何将linux命令缩短为一行
【发布时间】:2014-04-18 09:05:30
【问题描述】:

对不起,我没有写一个相关的标题,但我想不出一个。 所以我的问题是: 你知道吗,在linux中。例如,当您键入 telnet 然后回车 然后 o ip.add.re.sss 你怎么能在一行中做到这一点?是的,我知道 telnet 我可以输入 telnet ip.add.re.sss 并按回车键,它会连接,我想不出更好的例子,但有些命令不能这样工作,我必须按回车键并回车“命令”然后把我的其他命令 有没有办法模拟按下“输入”按钮? 类似于:telnet(魔术字符或其他东西)o ip.add.re.sss

【问题讨论】:

    标签: linux command


    【解决方案1】:

    看看管道的概念——使用一个命令的输出作为下一个命令的输入,所以

    echo "o ip.add.re.sss" | telnet
    

    会成功的。但请注意,流水线是永久性的,您需要通过它输入全部或全部内容。

    【讨论】:

    • 感谢您的回复 :) 但实际上我已经尝试过了,但它不起作用。好的,更具体地说,这是我正在尝试使用的:github.com/vysheng/tg 这是一个 IM,所以当我编译代码时,我必须输入 ./telegram 然后输入:send_message 朋友名消息 我试图通过管道传输但它没有工作
    • 这个使用 readline 输入,所以管道应该可以工作。如果您使用echo 作为输入器,请确保您有-e 选项!
    • 我很抱歉成为一个菜鸟:D 这就是我尝试过的 echo -e "msg Rana test2" | ./telegram 它不起作用我不知道为什么
    • 哦,好的,运行正常,但是程序有bug,所以我必须先加载我的朋友列表才能给朋友发送消息,所以当我使用在加载列表之前,它会执行命令“msg Rana test2”的管道是否存在?
    • 使用sleep等待开始输入,如果加载列表不需要任何命令:(sleep 5 ; echo -e "msg Rana test2") | ./telegram
    猜你喜欢
    • 2020-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    • 2011-08-06
    • 2019-08-03
    • 2019-07-18
    相关资源
    最近更新 更多