Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Bash输入_Linux_Bash_Input_Communication - Fatal编程技术网

Linux Bash输入

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

有一个关于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 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