【问题标题】:Scripting file copy with notification upon completion完成后通知脚本文件复制
【发布时间】:2023-03-02 21:12:02
【问题描述】:

我正在使用 Ubuntu 将一百多张 CD 中包含的文件复制到单个硬盘驱动器。当 CD 的内容完成复制到硬盘驱动器时,我没有收到任何完成的指示。我想创建执行以下操作的 shell 脚本:

  1. 提示我输入新文件夹的名称
  2. 在目标硬盘上创建文件夹
  3. 将当前光驱中的CD内容复制到新文件夹中
  4. 复制操作完成时通知我

我已经在我的计算机上安装了 libnotify,但我愿意使用其他通知方式。

【问题讨论】:

    标签: shell ubuntu copy backup


    【解决方案1】:
    #!/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" keyslinger@example.com
        printf 'Copy to folder %s is complete.\n' "$name"
    done
    

    【讨论】:

      【解决方案2】:

      谢谢,丹尼斯,它很有魅力!仅供参考,这是我最终使用的:

      #!/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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-08
        • 1970-01-01
        • 2016-03-01
        • 2016-11-07
        • 1970-01-01
        • 2019-06-20
        相关资源
        最近更新 更多