0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

選択式メニューの作成

Last updated at Posted at 2021-03-18

初めましてshoです。
シェルスクリプトの学習、練習メモです。

内容***「選択式メニューの作成」***
詳細 
 ・実行したら以下のメニューが表示されるようにする
   1)list file
   2)current directory
   3)exit
 ・番号選択したらそのまま実行(Enter押さなくても実行される)
 ・入力内容は非表示

(※学習記録やメモ書き目的で始めました。ほぼ初学者レベルなので理解が浅いところや誤りがあるかと思いますがよろしくお願いします。またアドバイス等コメントいただけるとすっごく嬉しいです。)

#使用コマンド
read =標準入力で受け取った内容を1行単位で変数に入れられるコマンド

###オプション
-s =入力内容を表示させない
-n [数字] =指定した文字数分の入力を受け取ったら次の処理へ進む

→「read -s -n 1 ・・・・」と記述して表示されたメニュー番号を入力したらそのままその番号が実行され、入力した番号は非表示にする

#スクリプト


#!/bin/sh


echo "1)list file"
echo "2)current directory "
echo "3)exit"
   
while :
 do
   read -s -n 1 var
   case "$var" in
 
  1) ls -l ;;
  2) pwd ;;
  3) exit ;;
  4) echo no found ;;

    esac
done


#実行結果


# t-menu.sh
1)list file
2)current directory 
3)exit

1を入力
↓
合計 16
-rw-r--r-- 1 root root 826  3月 16 03:08 20210316.zip
drwxr-xr-x 2 root root  19  3月 11 19:40 dir1
drwxr-xr-x 2 root root  32  3月 11 19:40 dir2
drwxr-xr-x 2 root root  19  3月 11 19:19 dir3
-rw-r--r-- 1 root root   0  3月 12 02:00 file1
-rw-r--r-- 1 root root   0  3月 12 02:00 file2
-rw-r--r-- 1 root root   0  3月 12 02:00 file3
-rw-r--r-- 1 root root 116  3月 15 03:19 ip.txt
-rw-r--r-- 1 root root 337  3月 15 01:51 ip_sample.txt
-rw-r--r-- 1 root root   3  3月 15 23:04 sshfailed
drwxr-xr-x 4 root root  53  3月 16 02:20 test2


2を入力
↓
/root/test

3を入力
↓
# (exitを選択)

書いていて気がついたのですが、

シェルスクリプトでメニュー作成と検索すると「select」コマンドを使用するのが多いのですね。

簡単ではありますが、以上です!

#参照サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?