Linux Bash输入
有一个关于LinuxBash的问题。我想启动一个程序,然后向它发送输入。 通常在de终端中,我只需,Linux Bash输入,linux,bash,input,communication,Linux,Bash,Input,Communication,有一个关于LinuxBash的问题。我想启动一个程序,然后向它发送输入。 通常在de终端中,我只需,/chat,然后键入一些内容 我不知道在bash中应该如何,我尝试了以下方法: /聊天 您好 真的不知道该怎么做。希望有人能找到解决方案。这澄清了有关命令行参数的bash命令: #!/usr/bin/env bash echo name of script is $0 echo first argument is $1 echo second argument is $2 echo sevent
/chat
,然后键入一些内容
我不知道在bash中应该如何,我尝试了以下方法:
/聊天
您好
真的不知道该怎么做。希望有人能找到解决方案。这澄清了有关命令行参数的bash命令:
#!/usr/bin/env bash
echo name of script is $0
echo first argument is $1
echo second argument is $2
echo seventeenth argument is $17
echo number of arguments is $#
/chat你所做的是对的。确保脚本是可执行的,并且它接受命令行参数
#! /bin/bash
echo Hi $1
/你好,苏
o/p
你好,苏
编辑:
创建一个包含所需内容的新文本文件,然后
./chat
cat welcomeText.txt - | ./chat
cat将连接您的固定文本(welcomText.txt,一个文件)
然后它将从标准输入(“-
”)中读取
这将通过管道(“|
”)进入聊天室
通过创建另一个文件描述符并有选择地从各种来源写入聊天室,还有更高级的方法可以做到这一点您要键入的输入可以使用以下命令保存在某个变量中:
read var
这将执行在运行程序并将其存储在变量“var”中之后扫描您键入的整个输入的工作
例如:
以下代码将读取输入并显示相同内容:
read var
echo $var
这实际上太依赖于程序,没有更多细节就无法回答。如果程序希望从标准输入中接收数据,则键入
/chat
,然后键入您的输入即可。如果它需要参数,那么您将按照SpyrosP的建议为它提供参数。如果它需要一个文件,那么你必须给它一个文件。你是在寻找回声什么东西|./chat
也许?这个程序只是一个简单的聊天,我可以通过终端聊天。程序正在等待输入。但是我怎样才能用bash给这个输入呢?@erik我想启动程序,然后向程序说几行。@Tom:然后运行发送这些行的命令(例如,cat textfile
),然后用|/chat
把它传送到你的程序,我明白了,但是我怎么能不用参数与程序通信呢,第十七个参数是${17}
。如果你做了$17
,你会得到第一个参数,后面跟着一个文字“7”。哇,不知道我是否理解。我可以做“/chat welcom on the chat”?这完全取决于脚本,如果您正在执行的脚本接受命令参数,那么它肯定会工作。程序不依赖于启动参数。当程序启动时,它会监听输入。我希望bash文件启动程序,然后发送一条消息“你好,欢迎!”这是一个非常简单的方法。。创建一个包含Hello,welcome作为内容的新文件文本文件,然后。/chat/chat
read var
echo $var