shell“if”语句

shell“if”语句,shell,unix,if-statement,mv,Shell,Unix,If Statement,Mv,我是unix新手,正在练习一个简单的脚本来解压缩指定目录中的文件。我需要该程序将压缩后的文件移动到另一个文件夹,当它解压完成后,我称之为这个oldzipped文件夹。为了简单起见,我删除了解压该文件的部分代码,目前该程序用于特定文件,而不是*tar.7z文件扩展名。出于某种原因,mv语句不起作用。当我尝试运行脚本时,Unix会说以下内容。谁能帮我一下吗?再说一遍,我知道这是一个漫长的过程,但我想练习写剧本。请友好一点,因为我对Unix非常陌生: unzip5:第14行:[ASDE0002.tar

我是unix新手,正在练习一个简单的脚本来解压缩指定目录中的文件。我需要该程序将压缩后的文件移动到另一个文件夹,当它解压完成后,我称之为这个oldzipped文件夹。为了简单起见,我删除了解压该文件的部分代码,目前该程序用于特定文件,而不是*tar.7z文件扩展名。出于某种原因,mv语句不起作用。当我尝试运行脚本时,Unix会说以下内容。谁能帮我一下吗?再说一遍,我知道这是一个漫长的过程,但我想练习写剧本。请友好一点,因为我对Unix非常陌生:

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
[有时是接受参数的内置命令的名称。因此,在调用任何其他程序时,需要在其后面加空格。此外,还需要进行测试。例如,要确定文件是否存在并且是否为文件,需要使用-f:

以下是一些。

[有时是一个内置命令的名称,它接受参数。因此,您需要像调用任何其他程序一样在它后面加一个空格。此外,您还需要一个测试。例如,要确定该文件是否存在并且是一个文件,您需要使用-f:


这里有一些。

您可能是指[-e ASDE0002.tar.7z]。提示人测试可以为您提供测试选项,IIRC作为[]嵌入到bash中。此外,脚本的开头看起来有点奇怪!~/bin/bash,除非您在~/bin/中手动安装了bash。非常感谢!效果很好!您可能是指[-e ASDE0002.tar.7z].Hint man test可以为您提供测试选项,IIRC作为[]嵌入在bash中。此外,脚本的开头看起来有点奇怪!~/bin/bash,除非您在~/bin/中手动安装了bash。非常感谢!非常好!我常用[-r somefile]为了确保我可以读取文件。-r是检查文件是否可读我通常使用[-r somefile]来确保我可以读取文件。-r是检查文件是否可读
if [ -f ASDE0002.tar.7z ]
then
    mv -f ASDE0002.tar.7z $dirloc/oldzippedfiles
fi