2012-02-26 142 views
0

我有一個回收站功能,我試圖擴展它以將文件恢復到原始位置。我最初的想法是使用:將文件恢復到原始位置

readlink -f $arg 

作爲變量並將輸出重定向到配置文件。我似乎無法得到那一點工作,任何想法?

+1

那你試試如何它失敗了嗎? – tripleee 2012-02-26 17:39:07

+0

我試過 'variablename = $(readlink -f $ arg)' 'echo $ variablename >> file.cfg' – Alex 2012-02-26 18:12:23

回答

1

一點建議(未完成:沒有測試,沒有錯誤處理,不處理等基本名稱的,...):

#!/bin/bash 

TRASH=${HOME}/.trash/ 
TCFG=${HOME}/.trashconfig 

function moveToTrash 
{ 
    FPATH=$(readlink -f "$1") 
    echo $(sha1sum "${FPATH}" | cut -d " " -f 1):${FPATH} >> "${TCFG}" 
    mv "$1" "${TRASH}" 
} 

function restoreFromTrash 
{ 
    SUM=$(sha1sum "$1" | cut -d " " -f 1); 
    FPATH=$(grep ${SUM} "${TCFG}" | cut -d ":" -f 2); 
    mv "$1" "${FPATH}" 
} 

if [ ! -d ${TRASH} ] ; then 
    mkdir -p ${TRASH} 
fi 

if [ $1 == "remove" ] ; then 
    moveToTrash "$2" 
fi 

if [ $1 == "restore" ] ; then 
    restoreFromTrash "$2" 
fi 

用法:

touch foo 
trash.sh remove foo 
trash.sh restore ${HOME}/.trash/foo 
+0

sha1sum:testfile:沒有這樣的文件或目錄 是我試過的時候運行它,之前使用過sha1sum,它只是一個校驗和命令嗎?這只是恢復,看起來並沒有工作。 – Alex 2012-02-26 21:20:34

+0

忽略,只是我愚蠢它運作良好,謝謝。 – Alex 2012-02-26 21:27:44