我想做的是要求用户输入一行并发送到标准输出。
我尝试获取输入来执行条件问题,但无法扩展输入(在本例中是输入 0,但可以是输出 1 或错误 2)。在这种情况下,我想询问并从标准输入读取用户输入并将其发送到标准输入/输出,在获取此内容后并验证是否有某些内容(如果为非零)。代码看起来像(在这种情况下可能看起来很困惑,您可以跳过并使用上面的描述)
#!/usr/bin/bash
read>&0
if [[ -n $my_input_expanded ]] ; then
echo "hello word"
fi
这里read
扮演询问用户输入的角色(可以是另一个命令,但我不知道哪个可以在这里),变量 $my_input_exppaded 是一些像输入重定向这样的操作0>
(我知道这只是到文件,但是是这样的),但重定向是输入的扩展。
答案1
您确实应该学习初学者指南,而不是尝试猜测语法。 shell脚本很奇怪。真的。这是一个执行您所描述的操作的版本:
#!/bin/sh
# read a line of text into the variable "$line"
IFS= read -r line
# check if the result contains any text
if [ -n "$line" ]
then
# it does, so output a simple response including the given text
echo "hello: $line"
fi