怠日記

写真・金魚・昆虫・プログラミングの趣味を語るサイトです。似たようなことをnoteにも書いたり書いてなかったり。

csh - ユーザー入力を読み取る

標準入力からの取得

標準入力を読み取るには $< を使う。

次の例は、ユーザー入力をシェル変数 val に格納し、その内容を出力する。

set val = $<
echo "Entered value: ${val}"

次のスクリプトは、ユーザー入力によって実行する処理を変える例である。

1 が入力されたら処理Aを、2 が入力されたら処理Bを、E が入力されたら処理を終える。

#!/bin/csh
top:
echo -n "1:処理A実行、2:処理B実行、E:終了 ? "
set mode = $<
if (${mode} == '1') then
    # ~~~処理Aのロジック~~~
endif
if (${mode} == '2') then
    # ~~~処理Bのロジック~~~
endif
if (${mode} == 'E') then
    # ~~~終了処理 ~~~
    exit
endif
# 未定義の値が入力されたらもう一度入力させる
echo '入力された選択肢は存在しません。再入力してください。'
goto top



ファイルを読み取る

< を使う。

command < filename