我是unix的新手,正在練習一個簡單的腳本來解壓縮指定目錄中的文件。我需要該程序將壓縮文件解壓縮後將其移動到另一個文件夾中(我將其稱爲此舊文件夾)。爲了簡單起見,我已經刪除了部分代碼解壓縮文件,並且當前程序正在爲特定文件工作,而不是* tar.7z文件擴展。出於某種原因,mv聲明不起作用。當我嘗試運行腳本時,Unix正在說以下內容。有人能幫我一把嗎?再次,我知道這是做事的很長的路,但我想要練習寫一個腳本。請好的,因爲我很熟悉Unix :(shell「if」語句
unzip5:第14行:[ASDE0002.tar.7z]:找不到
#!~/bin/bash
# My program to try to unzip several files with ending of tar.7z
# I have inserted the ability to enter the directory where you want this to be done
echo "What file location is required for unzipping?"
read dirloc
cd $dirloc
mkdir oldzippedfiles
for directory in $dirloc
do
if
[ASDE0002.tar.7z]
then
mv -f ASDE0002.tar.7z $dirloc/oldzippedfiles
fi
done
echo "unzipping of file is complete"
exit 0
你可能是指'[-e ASDE0002.tar.7z]'。 (提示'man test'可以給你'test'的選項,這個IIRC被嵌入在bash中作爲'[]')。除非你在'〜/ bin /'中手動安裝了'bash',否則腳本的開頭看起來有點怪怪'#!〜/ bin/bash'。 – nvlass
非常感謝!這很好用! –