拡張入力、出力、またはエラー

拡張入力、出力、またはエラー

私がしたいのは、ユーザーに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

関連情報