shell是否是文件夹|Shell脚本判断是文件还是目录怎么写

shell是否是文件夹|Shell脚本判断是文件还是目录怎么写的第1张示图

㈠ shell判断目录是否存在

判断表达式中直接用-d判断即可,参考代码如下:

myFolder=/home/test

if[-d$myFolder];then

echo"Folderexists!"

else

echo"Folderdoesn'texist!"

fi

Shell基本上是一个命令解释专器,类似于DOS下的command。它接收属用户命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的Bourne shell (sh)和C shell (csh)。

(1)shell是否是文件夹扩展阅读:

shell文件描述符

-e 判断对象是否存在

-d 判断对象是否存在,并且为目录

-f 判断对象是否存在,并且为常规文件

-L 判断对象是否存在,并且为符号链接

-h 判断对象是否存在,并且为软链接

-s 判断对象是否存在,并且长度不为0

-r 判断对象是否存在,并且可读

-w 判断对象是否存在,并且可写

-x 判断对象是否存在,并且可执行

㈡ shell脚本判断是文件还是文件夹

那就写两个if判断吧if [ -f $FILE ]if [ -d $FILE ]

㈢ shell脚本判断文件夹下是否有文件

我们可复以通过判制断文件夹中的文件的列表是否为空来判断:

if[[-n$(ls)]];then#Dosomethinghereelse#Dosomethingelseherefi

㈣ shell判断文件夹是否存在

Shell中的test命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试,那么如何使用shell来判断文件夹是否存在呢?今天小编就就带大家来看看吧。文件夹不存在则创建

如果身边就有电脑,可以跟着上文一起操作,这样可以更好的理解喔本文章基于Lenovo品牌、Windows10系统撰写的。

㈤ shell判断文件夹内是否有文件

if [ `ls directory | wc` -eq 0 ]thenecho "文件夹为空"fi#directory是要判断的文件夹,'是ESC键下面那个键不是单引号,手机不好打

㈥ Shell脚本判断是文件还是目录怎么写

#!/bin/bashif[-d$1]thenecho"$1isadirectory."exitelif[-f$1]thenecho-n"$1isafile,"if[-L$1]then答echo"anditisalsoasymboliclink."A=`ls-L$1`if[-e$A]thenecho"Symboliclinkexist."elseecho"Symboliclinknotexist."fiexitelseecho"butitisnotasymboliclink."exitfifi

㈦ shell脚本,判断一个目录内是文件还是子目录

你能不能一次把问题提完整呢。 shell 没有提供处理文件系统的底层功能。可以使用重定向,在得到一行后就立刻匹配,完成后立刻退出。它不需要等到ls命令完成。可以操作目录下存在大量文件的情况。效率最快的是这个: ls /opt -1F –sort=none | ( read LINE;echo "$LINE"| if grep -q "/$" ; then exit 0 ;else exit 1 ; fi ;)这个命令返回0 表示/opt 目录下存在目录(不代表全部都是目录,这条命令基于你在问题中的假设)。返回非0表示包含非目录文件。-1 表示ls 输出一行个文件。-F 表示输出的每个文件后缀一个符号表示文件类型,文件夹的后缀为 / –sort=none 表示按照磁盘存储顺序进行输出,不进行排序。|grep -q '/$' 表示 如果匹配到/ 结尾的行。最近几天你提的问题相当零散。都不知道你的思维对不对。shell 本身就不是高效率的语言。想要高效率应该使用其他脚本语言,例如perl 。

㈧ linux shell程序,如何输入一个文件名判断它是文件夹还是文件

//是目录不是文件夹#! /bin/bash # filename:FileType.sh read -p "Please input the filename :" filename fpath=$filename if [ -d $fpath ]; then echo "$fpath is a direstory."; elif [ -e $fpath ]; then echo "$fpath is a file."; else echo "$fpath is NOT a file or direstory."; fi

㈨ shell 判断文件夹是否存在

判断一个文件夹是否存在可以使用[[命令(就是两个[,[[在这里的确是一个命令,它比[的功能更强大),使用方法是[[ -a dir_name ]] && echo "directory exists"

㈩ 什么是shell命令windows系统也有shell命令吗

Shell(也称为壳层)在计算机科学中指“为用户提供用户界面”的软件,通常指的是命令行界面的解析器。一般来说,这个词是指操作系统中提供访问内核所提供之服务的程序。Shell也用于泛指所有为用户提供操作界面的程序,也就是程序和用户交互的层面。因此与之相对的是内核(英语:Kernel),内核不提供和用户的交互功能。

不过这个词也拿来指应用软件,或是任何在特定组件外围的软件,例如浏览器或电子邮件软件是HTML排版引擎的Shell。Shell这个词是来自于操作系统(内核)与用户界面的外层界面。

通常将shell分为两类:命令行与图形界面。命令行壳层提供一个命令行界面(CLI);而图形壳层提供一个图形用户界面(GUI)。

[Wikipedia:壳层]

==========================

虚拟终端机(英语:Terminal emulator)是在个人电脑上虚拟的一个终端以及为此目的而写的软件。虚拟终端的目的是达到个人电脑及其用户能够与大型计算机的连接。一般来说需要连接的大型计算机是IBM的大型计算机或者所谓的超小型计算机(过去往往是迪吉多的VAX)。

虚拟终端使得个人电脑的用户可以直接使用他的个人电脑来与大型计算机联系,而不必使用专门的终端。

通过虚拟终端的软件虚拟终端还可以扩展大型计算机的标准终端的功能,通过虚拟终端不但可以将个人电脑上的数据传递给大型计算机,而且还可以将大型计算机的数据传递给个人电脑,并在个人电脑上继续加工。

一般大型计算机的终端是字母式的输入和输出接口,因此一个虚拟终端至少需要一个能够模拟这样的字母式(比如ASCII)输入和输出接口的能力。最常见的平台是图像式的用户表面。要使得新的、图像式的程序能够使用老的字母式的或者没有图像式输入和输出能力的程序也需要虚拟终端。

现代的大型计算机也内部使用虚拟终端,这样它们可以向老的、需要终端的程序假装一个终端,而实际上它则将程序的显示转到显卡上。比如Linux以及其它大多数基于个人电脑的类似Unix的操作系统假装有六至十个这样的“虚拟”的终端。

[Wikipedia:虚拟终端]

==========================

Windows命令提示符(cmd.exe)是Windows NT下的一个用于运行Windows控制台程序或某些DOS程序的壳层程序;或在Windows CE下只用于运行控制台程序的壳层程序。它被用于替代Windows 9x系统中所提供的COMMAND.COM和“MS-DOS提示符”。命令提示符的最初版本由Therese Stowell开发。

[Wikipedia:命令提示符]

==========================

PowerShell(包括Windows PowerShell和PowerShell Core)是微软公司开发的任务自动化和配置管理框架,由.NET Framework和.NET Core是构建的命令行界面壳层相关脚本语言组成,最初仅Windows组件,后于2016年8月18日开源并跨平台支持。[3]

在PowerShell中,管理任务通常由cmdlets(发音为command-lets)执行,这是执行特定操作的专用.NET类。可以将cmdlet集合至脚本、可执行文件(一般是独立应用程序)中,或通过常规.NET类(或WMI / COM对象)实例化。[4][5]通过访问不同数据存储中的数据由PowerShell运行,如资源管理器或注册表。

[Wikipedia:Windows PowerShell]

==========================

Windows shell是Microsoft Windows操作系统的图形用户界面。Windows shell易于识别的元素包括桌面、任务栏、开始菜单、任务切换器和自动播放等特征。在某些版本的Windows上,还包括Flip 3D和魅力(charms)等功能。在Windows 10中,Windows Shell Experience Host界面可以驱动视觉效果,如“开始”菜单,“操作中心”和“任务栏”、Task View/Timeline。另外,Windows shell还实现了一个shell命名空间,该命名空间使Windows上运行的计算机程序能够通过shell对象架构访问计算机的资源。“桌面”是层次结构的顶级对象,在它之下有一些存储在磁盘上的文件和文件夹,以及一些内容为虚拟或动态创建的特殊文件夹,如垃圾箱、控制面板、我的计算机、我的网络位置等等。

基本上讲,Shell是由文件夹组成的,文件夹是一个包含有子元素的容器,包括子文件夹,这些元素通常称为文件夹项。根文件夹称为‘桌面’,其子项包括‘我的计算机’,‘网上邻居’,‘回收站’,和其他可能的项,所有这些文件夹的集合称之为Shell的命名空间。文件夹实际上是一个Shell对象,它的行为被编码成一个COM模块,向Windows Shell暴露公共的接口。通过连接,文件夹可以告诉Shell怎样设计它的内容,使用什么样的图标显示,采用什么文字来描述。文件对象是一个包含在普通文件夹中的项—文件、记录、内存块、连接的设备等。‘文件夹项’、‘文件夹元素’和‘文件对象’这些术语是等价的。任何文件夹的内容都是通过一个对象调用Shell viewer显示在Windows explorer.exe中的。每一个文件夹都定义了他自己的Shell viewer对象,并且所有相关于这个用户接口的任务都指派到这个对象上。

从概念上讲,桌面是所有Windows Shell对象的父对象,即宿主对象。就实现方式而言,桌面是一个系统定义窗口类的特殊窗口(命名为#32769),并且是所有窗口的祖先窗口。那些导出应用的顶层窗口一般而言都是桌面的子窗口。[1]

主要的Windows Shell部件就是任务栏,它实际上就是由explorer.exe进程所拥有的一个窗口。当终止explorer.exe进程的时候,都将引起任务条的消失和重新显现。每当任务栏重新显现的时候,它注册一个具有不同HWND的新窗口。任务条拥有“开始”按钮的窗口,在托盘区域有时钟和类似按钮的控件,表示正在运行的应用。任务条实际上与窗口一样,可以在其上作任何窗口上可以做的操作如移动、隐藏和子类化等。

explorer.exe是一个扮演着系统外壳角色的应用程序。当说到外壳扩展的时候,就是由explorer.exe感知的、装入的并最终执行的代码块。explorer.exe可以被看作为一个微型的窗口开发环境:它有自己的函数和对话框;允许写特殊的与已存在的体系集成的应用程序;能包容应用和文档。甚至可以解释任何活动的脚本兼容语言的脚本(VBScript,JScript,Perl,等等)。采用COM接口和进程内服务器(实质上的DLL)

在Win16环境中,与Shell唯一的通讯方式是通过动态数据交换(DDE)。

[Wikipedia:Windows Shell]

未经允许不得转载:山九号 » shell是否是文件夹|Shell脚本判断是文件还是目录怎么写

赞 (0)