私がしたいのは、ユーザーに1行を入力してそれを標準出力に送信するように要求することです。
条件付き質問を実行するために入力を取得しようとしていますが、入力を拡張することはできません(この場合は入力0ですが、出力1またはエラー2の可能性があります)。この場合、stdinからユーザー入力を要求して読み取り、それをstdin / outに送信し、ゼロ以外のものがあることを確認したいと思います。コードは次のとおりです。 (この場合、混乱しているように見える場合があります。スキップして上記の説明を使用することもできます。)
#!/usr/bin/bash
read>&0
if [[ -n $my_input_expanded ]] ; then
echo "hello word"
fi
これはread
ユーザーに入力を要求する役割を果たします(他のコマンドかもしれませんが、ここにどのコマンドがあるのかわかりません)。 $my_input_exppaded変数は入力リダイレクトのようないくつかの操作です0>
(これは単にファイルのものであることを知っていますが、それはすべてです)が、リダイレクトは入力の拡張です。
答え1
構文を推測しようとする代わりに、初心者向けガイドを実際に勉強する必要があります。シェルスクリプトが奇妙です。本当。説明する内容を実行するバージョンは次のとおりです。
#!/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