Linux下shell腳本模擬自動上傳文件

 

     把$HOME/transfer目錄下的所有.c文件自動上傳到$HOME/processed/下,並在每個.c文件末尾標誌爲處理過的"Proessed !"

//autotransfer

#!/bin/sh
#FileName:autotransfer
#Function:Auto transfer c file
#Version:V0.1
#Author:Sunrier
#Date:2012-05-16
flag="noexe"
cd $HOME
echo $HOME
if [ -d "transfer" ]
then
        echo "transfer 目錄存在 !"
else
        echo "transfer 目錄不存在 !"
        echo "創建transfer目錄中......"
        mkdir transfer
fi

if [ -d "processed" ]
then
        echo "processed 目錄存在 !" 
else
        echo "processed 目錄不存在 !"
        echo "創建processed目錄中......"
        mkdir processed
fi

cd $HOME/transfer

for pFile in $(ls *.c 2>/dev/null)
do
        flag="exe"
        echo "Start load "${pFile}
        echo "Processed !" >> ${pFile}
        mv $HOME/transfer/${pFile} $HOME/processed/
done

if [ "$flag" = "noexe" ]
then
        echo "本次沒有上傳文件!"
else
        echo "本次上傳文件成功!"
fi



 

 

[Sunrier@localhost bin]$ chmod u+x autotransfer

[Sunrier@localhost bin]$./autotransfer

/home/Sunrier
transfer 目錄存在 !
processed 目錄存在 !
Start load a.c
Start load b.c
本次上傳文件成功!

 

 

2012-05-17改進版本

//autotransfer

#!/bin/sh
#FileName:autotransfer   
#Function:Auto transfer c file   
#Version:V0.2  
#Author:Sunrier   
#Date:2012-05-17   

flag="noexe"

cd $HOME
echo $HOME

if [ "$HOME" != "/home/Sunrier" ]
then
	echo "沒有執行權限!"	
	exit 1
fi

if [ -d "transfer" ]
then
	echo "transfer 目錄存在!"
else
	echo "transfer 目錄不存在!"
	echo "創建transfer目錄中......"
	mkdir transfer
fi


if [ -d "processed" ]
then
	echo "processed 目錄存在!"
else
	echo "processed 目錄不存在!"
	echo "創建pocessed目錄中......"
	mkdir processed
fi

cd $HOME/transfer

for pFile in $(ls *.c 2>/dev/null)
do
	flag="exe"
	echo "加載 ${pFile} 中......"
	#echo -e "\n"
	date >> ${pFile}
	echo -e "Processed !\n">> ${pFile}
	mv $HOME/transfer/${pFile} $HOME/processed/
done

if [ "$flag" = "noexe" ]
then
	echo "本次沒有上傳文件!"
else
	echo "本次上傳文件成功!"
fi

exit 0



 

 

Version :V0.3

 

#!/bin/sh
#FileName:autotransfer      
#Function:Auto transfer c file      
#Version:V0.3     
#Author:Sunrier      
#Date:2012-05-18

MAINPATH=$HOME
AUTHPATH="/home/Sunrier"
SOURDIR="transfer"
DESTDIR="processed"
SOURPATH=$MAINPATH/$SOURDIR
DESTPATH=$MAINPATH/$DESTDIR
CURRPATH=$PWD

flag="noexe"

cd $MAINPATH
echo $MAINPATH

if [ "$MAINPATH" != "$AUTHPATH" ]
then
	echo "沒有執行權限!"	
	exit 1
fi

if [ -d "$SOURDIR" ]
then
	echo "$SOURDIR 目錄存在!"
else
	echo "$SOURDIR 目錄不存在!"
	echo "創建$SOURDIR目錄中......"
	mkdir $SOURDIR
fi


if [ -d "$DESTDIR" ]
then
	echo "$DESTDIR 目錄存在!"
else
	echo "$DESTDIR 目錄不存在!"
	echo "創建$DESTDIR目錄中......"
	mkdir $DESTDIR
fi

cd $SOURPATH

for pFile in $(ls *.c 2>/dev/null)
do
	flag="exe"
	echo "加載 ${pFile} 中......"
	#echo -e "\n"
	date >> ${pFile}
	echo -e "Processed !\n">> ${pFile}
	mv $SOURPATH/${pFile} $DESTPATH/
done

if [ "$flag" = "noexe" ]
then
	echo "本次沒有上傳文件!"
else
	echo "本次上傳文件成功!"
fi

cd $CURRPATH

exit 0


 

 

 



注:
解決在Windows使用UE編輯代碼放到Linux下亂碼的問題:
另存爲:當前文件名
保存類型:所有文件(*.*)
換行符: UNIX換行符-LF
格式:UTF-8-無BOM



 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章