シェルスクリプトで任意の文字入力待ち→入力→確認→完了 を作成

ウェブの入力フォームのようにLinuxのシェルスクリプトで再現します。再現するためには入力を受け付ける「READ」と画面遷移のように確認→完了を再現するために繰り返し「while」「case」を使用します。

read 入力を受け付ける

readコマンドでユーザーから入力を受け付ける部分を作成します。オプション「-p」を付けると入力する前に表示するプロンプトの文字を設定できます。

・使用例

echo "+-------------------------------------------------------+"
echo "文字を入力してください。"
echo "+-------------------------------------------------------+"
read -p ":" INPUT_STR
echo "入力した文字は[$INPUT_STR]です。"
read -p "ENTERキーを押してください。"

while true do done で無限に繰り返す

while trueにすれば無限に繰り返します。これを利用して確認から文字入力に戻るところを再現します。繰り返しのループから抜けるにはbreakを使用します。

・使用例

#!/bin/bash
i=0
while true
do
  echo $i
  i=`expr $i + 1`
  if [ $i -eq 10 ]; then
    break
  fi
done

case

caseを利用して確認画面のYes、noの処理を作成します。

・使用例

#!/bin/bash
read -p " (y/n):" CHECK_YN
case "$CHECK_YN" in
[yY])
    echo "YES"  
;;
[nN])
    echo "NO"
;;
esac
read -p "ENTERキーを押してください。: "
clear

文字入力→確認→完了

「read」「while」「case」を使って任意の文字入力→確認→完了 を完成させます。
以下がサンプルコードになります。

#!/bin/bash
while true
do
clear
echo "+-------------------------------------------------------+"
echo "文字を入力してください。"
echo "+-------------------------------------------------------+"
read -p ":" INPUT_STR
echo "+-------------------------------------------------------+"
echo "入力した文字は[$INPUT_STR]でよろしいですか?"
echo "+-------------------------------------------------------+"
read -p " (y/n):" CHECK_YN
case "$CHECK_YN" in
  [yY])
echo "+-------------------------------------------------------+"
echo "完了しました。"
echo "+-------------------------------------------------------+"
  ;;
  [nN]) echo "作成はキャンセルされました。" ;;
esac

read -p "処理を終了しますか? (y/N): " yn
case "$yn" in
  [yY]) break
  ;;
esac
done
read -p "ENTERキーを押してください。: "
clear
自由な働き方をしてみませんか
フリーランスといえばクラウドソーシングが連想されると思います。 しかし「クラウドワークス」や「ランサーズ」調べてみると仕事の単価が非常に安い。 せっかく身につけた技術力がクラウドソーシングでは全く価値がなくなってしまいます。
そこでオススメなのがリモートワークの案件が多く翌月15日報酬として振り込まれる
クラウドテック」です。 掲載案件では平均月60万週3~4日勤務の案件が豊富生活スタイルに合わせた働き方を設計できます。 また福利厚生が充実し旅行、レジャー、家事代行、ヘビーシッター、健康診断など100種類以上を無料で使えます。
  • 97%がリモートのお仕事
  • 週4日、週3日OKのお仕事多数
  • 登録社数74万件業界トップクラス
  • 2〜4週間程度でお仕事決定
まだ間に合います。まずは無料登録をして自分に合った案件がないか確認してみてください。きっと魅力的な案件が見つかることでしょう。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする