Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
Bash 使用read命令_Bash_Unix - Fatal编程技术网

Bash 使用read命令

Bash 使用read命令,bash,unix,Bash,Unix,我对使用read命令感到非常困惑。有人能给我解释一下吗?例如,如果我有: 名为script的可执行文件,包含 read first second echo $first echo $second 你把它叫做: echo This is a line of input | ./script echo这是一行输入|。/script 发生了什么,为什么?我无法让它工作,应该显示一些内容运行帮助阅读提供以下信息: 行被拆分为字段,与单词拆分一样,第一行 单词分配给第一个名字,第二个单词分配给第二个 名

我对使用read命令感到非常困惑。有人能给我解释一下吗?例如,如果我有:

名为
script
的可执行文件,包含

read first second
echo $first
echo $second
你把它叫做:

echo This is a line of input | ./script echo这是一行输入|。/script
发生了什么,为什么?我无法让它工作,应该显示一些内容运行帮助阅读提供以下信息:

行被拆分为字段,与单词拆分一样,第一行 单词分配给第一个名字,第二个单词分配给第二个 名称,依此类推,并将任何剩余的单词指定给姓氏

所以这里发生的事情是,第一个单词被分配给变量
$first
,其余的输入行被分配给最后一个变量
$second


如果要保留
$first
中的第一个单词和
$second
中的第二个单词,请尝试添加
$third
变量。

还要学会在变量插值周围加双引号,而不是以后。这没关系,但很快就会<代码>回显“$first”啊,谢谢。这意味着监视器上没有显示任何内容,对吗?
这意味着监视器上没有显示任何内容,对吗?
?@Rahat:在您的示例中,它应该在一行上打印“this”,在第二行上打印“is a line of input”。如果它不能做到这一点,说明有问题,但我们需要更多的信息来解决问题。