#!/bin/bash #caseコマンドで引数の個数による場合分けを行います。引数0個が0)の段落、引数1個が1)の段落、引数2個が2)の段落に対応します case $# in #引数が0個の時はリスト、確認メッセージありでもともとスクリプトに入力されているファイルをもともと入力されているディレクトリ以下に転送します。 0) #リストを表示します ls ~/test #確認メッセージを表示します echo 'が転送されます' echo '実行されるコマンドは以下の通りです。' echo 'scp -r ~/test itpass.scitec.kobe-u.ac.jp:~/test' echo 'y/n' #aをyと読み込んでいます a=y #bを読み込みます read b #if文で真の時はscpコマンド、偽の時はechoコマンドを行います if [ $a = $b ] then scp -r ~/test itpass.scitec.kobe-u.ac.jp:~/test fi ;; #引数一つの時はscpコマンドのみ行います 1) scp -r ~/test itpass.scitec.kobe-u.ac.jp:~/test ;; #引数二個の時は一つ目の引数は転送するファイル、二つ目の引数は転送先に対応してコマンドが実行されます 2) ls $1 echo 'が転送されます' echo '実行されるコマンドは次の通りです' echo scp -r $1 itpass.scitec.kobe-u.ac.jp:$2 echo 'y/n' a=y read b if [ $a = $b ] then scp -r $1 itpass.scitec.kobe-u.ac.jp:$2 fi ;; #引数が三つのときは3つめの引数はこの3)のコマンドを実行させることのみの意味を持ちます。3)は指定したファイルを指定先のフォルダに送信します 3) scp -r $1 itpass.scitec.kobe-u.ac.jp:$2 ;; esac ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~