2018年1月3日水曜日

Linuxでゴミ箱機能(+おまけ)

ポックンのLinuxのゴミ箱機能(GarbageBox.sh)

#!/bin/bash

#本シェルを ~/.bash_profile で rm に alias きる

#引数指定なし
# ヘルプ表示
if [ $# -eq 0 ]; then
    echo '使用方法:GarbageBox.sh -e|-l|ファイル名|ディレクトリ名'
    echo '-e :ゴミ箱を空にする'
    echo '-l :ゴミ箱を参照する'
    echo ' :ゴミ箱を参照する'
    echo 'ファイル名|ディレクトリ名:ゴミ箱へ移動'
    exit 1
fi

#ゴミ箱がなければ作成
test ! -d ~/.GarbageBox && mkdir ~/.GarbageBox

case $1 in
  #オプション-e
  # 入力を促し、小文字に変換、yであれば空にする
  -e) echo -n 'ゴミ箱(~/.GarbageBox)を空にしますか?[y/n]:'
      read answer
      answer=$(echo $answer | tr 'A-Z' 'a-z')
      [ $answer == y ] && rm -rf ~/.GarbageBox/*
      ;;
  #オプション-l
  # ゴミ箱の中身を表示
  -l) ls -l ~/.GarbageBox
      ;;
  #その他
  *) for filename in $*; do
      #ファイル名のみ取得
      basefilename=$(basename $filename)
      if [ ! -e $filename ]; then
          #指定ファイル存在なし
          echo "$filename は存在しません"
      elif [ -e ~/.GarbageBox/$basefilename ]; then
          #ゴミ箱に同じファイル名がある
          tmpfilename=$basefilename.$(date +"%y%m%d%H%M%S")
          mv $filename ~/.GarbageBox/"$tmpfilename"
      else
          #その他
          mv $filename ~/.GarbageBox
      fi
      done
      ;;
esac

おふざけ(おまけ)

#!/bin/sh

Aset() {
sleep 1
clear
}

clear
echo '  (-o-) .'
Aset
echo '  (-o-) ..'
Aset
echo '  (-o-) ..z'
Aset
echo '  (-o-) ..zZ'
Aset
echo 'Σ(-o-) !!'
Aset
echo '  (~-~)'
Aset
echo '  (~o~)'
Aset
echo '  (/o~)'
Aset
echo '  (^-\\)'
Aset
echo '  (^-^)'
Aset
echo '  (^o^)お'
Aset
echo '  (^o^)おは'
Aset
echo '  (^o^)おはよ'
Aset
echo '  (^o^)おはよ〜'

0 件のコメント:

コメントを投稿