国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux下文件剪切的shell腳本實現代碼

2019-10-26 18:55:23
字體:
來源:轉載
供稿:網友

需求描述

編寫shell腳本實現Linux下不同目錄(路徑)之間的文件的剪切(移動)操作。

其中,文件移動之前所在的目錄稱為源目錄,文件移動之后所在的目錄稱為目的目錄。要求當源目錄不存在、源目錄下無文件及剪切文件成功時,均要在屏幕上輸出相關的日志信息;并且,在程序執行之前,只有源目錄是存在的,目的目錄需要由程序創建。

shell腳本

umask 0000if [ -d $1 ]then  fcnt=`ls -l $1 | wc -l`  if [ $fcnt -ne 1 ]  then    mkdir -p $2    if [ -d $2 ]    then      mv $1* $2      echo "move $fcnt file(s) from $1 to $2 successfully!"    else      echo "$2 does not exist!!!"    fi  else    echo "$1 is empty!"  fielse  echo "$1 does notexist!!!"fi

腳本說明

針對本shell腳本(命名為movefile.sh),說明如下:

第一,腳本第一行“umask 0000”表示賦予程序訪問文件的權限,因為后續要對文件進行剪切操作,所以必須要有對文件的操作權限才行。

第二,執行腳本的時候,要輸入兩個參數,第一個表示源文件目錄,第二個表示目的目錄。具體到腳本中,變量$1表示源文件目錄,變量$2表示目的目錄。

第三,本腳本的主要流程是這樣的:首先判斷源文件目錄是否存在,如果不存在,則直接打印源目錄不存在的消息;如果存在,則獲取源目錄下的文件數目,如果文件數為0,那么表示無需要剪切的文件,那么直接打印源目錄下無文件的消息;如果文件數大于0,那么就創建目的目錄,并在目的目錄創建成功的情況下之行文件的剪切操作。

第四,執行本腳本的命令格式為:sh movefile.sh 源文件目錄 目的目錄。注意,兩個目錄均要以/結束。

腳本執行

將movefile.sh腳本上傳到Linux機器上,然后對它進行測試。

第一,當源文件目錄不存在時,執行情況如下:

~>sh movefile.sh /home/zhou/movefile/srcdir/ /home/zhou/movefile/destdir/ /home/zhou/movefile/srcdir/ does notexist!!!

第二,當源文件目錄下無文件時,執行情況如下:

~>sh movefile.sh /home/zhou/movefile/srcdir/ /home/zhou/movefile/destdir/ /home/zhou/movefile/srcdir/ is empty!

第三,當源文件目錄下有1個文件時,執行情況如下:

~>sh movefile.sh /home/zhou/movefile/srcdir/ /home/zhou/movefile/destdir/ move 1 file(s) from /home/zhou/movefile/srcdir/ to /home/zhou/movefile/destdir/ successfully!

第四,當源文件目錄下有10個文件時,執行情況如下:

~>sh movefile.sh /home/zhou/movefile/srcdir/ /home/zhou/movefile/destdir/ move 10 file(s) from /home/zhou/movefile/srcdir/ to /home/zhou/movefile/destdir/ successfully!

總結

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 方山县| 祁连县| 睢宁县| 任丘市| 舒城县| 海兴县| 顺平县| 阿克苏市| 铜鼓县| 合江县| 上杭县| 广饶县| 来宾市| 闻喜县| 公主岭市| 舒兰市| 海安县| 通渭县| 达孜县| 阳江市| 朝阳县| 平凉市| 西华县| 遂平县| 旺苍县| 改则县| 读书| 东阳市| 新乡县| 晴隆县| 安庆市| 九江市| 陈巴尔虎旗| 沙湾县| 毕节市| 亳州市| 青岛市| 微山县| 和政县| 达尔| 晋宁县|