2011-01-30 7 views
3

私はUbuntuを使用して、100を超えるCDのファイルを1台のハードドライブにコピーしています。 CDの内容がハードドライブへのコピーを完了すると、それが完了したという指示は表示されません。私は次のことを行いシェル・スクリプトを作成したいと思います:完了時の通知付きスクリプトファイルコピー

    は、新しいフォルダに
  1. を与えるために名前を掲載してプロンプト
  2. が、現在ではCDの内容をコピー先のハードドライブ上のフォルダを作成します。コピー操作が

完了したときに、新しいフォルダ

  • にCDドライブは、私は自分のコンピュータ上にlibnotifyパッケージインストールしましたが、私は、通知の他の手段を使用することに開いている情報を希望。

  • 答えて

    3
    #!/bin/bash 
    while read -r -p "Enter a folder name: " name 
    do 
        [[ -z $name ]] && break # quit if user presses enter without input 
        mkdir -p "$name" 
        cp source "$name"   # use your current copy method 
    
        # Notifications: choose one or all six or add your own 
        notify-send "Copy complete" "Folder: $name" 
        zenity --title="Copy complete" --text="Copying to folder $name is complete" --info& 
        dialog --title "Copy complete" --msgbox "\nCopying to folder\n$name\nis complete\n" 10 60 
        for i in {1..4} 
        do 
         printf '\a'   # make some noise 
         sleep 1 
        done 
        echo "Copying to folder: $name is complete" | mail -S "Copy completion notification" [email protected] 
        printf 'Copy to folder %s is complete.\n' "$name" 
    done 
    
    1

    ありがとう、デニス、それは魅力的でした!参考のため、ここで私が使ったのは次のとおりです:

    #!/bin/bash 
    while read -r -p "Enter a folder name: " name 
    do 
        [[ -z $name ]] && break # quit if user presses enter without input 
        cd /media/Iomega_HDD 
        mkdir -p "$name" 
        cdname=`volname` 
        cdname=${cdname%% *} #trim white space from variable holding cd name 
        cdname=${cdname#* } 
        cp -r /media/"$cdname"/. "$name" 
    
        # Notifications: 
        notify-send "Copy complete" "Folder: $name" 
        printf 'Copy to folder %s is complete.\n' "$name" 
        eject 
    done 
    
    関連する問題