SHELL脚本--用于检测一个或者多个对象是文件或者目录

#!/bin/bash
#
# Judging the element is a file or a folder
if [ $# -lt 1 ];then
  echo "ERROE!! Usage: ckfile.sh ARGS1 [ARGS2...]"
  exit 4
fi
for i in `seq 1 $#`
do
if [ -f $1 ];then
  echo $1 is a commom file
elif [ -d $1 ];then
  echo $1 is a directory
else
  echo "$1 is not exsit or unknown!"
fi
shift
done

知识记忆点

1。  $1  $2...  定义脚本接受输入变量

2。 shift         脚本接受输入变量偏移,执行一次,$1的变量被$2覆盖

3。 $#      接受变量的数量

$?      最近一次执行过程的状态吗

SHELL脚本--用于检测一个或者多个对象是文件或者目录

时间: 2024-11-05 18:39:48

SHELL脚本--用于检测一个或者多个对象是文件或者目录的相关文章

shell脚本实现检测回文字符串

所有回文字的结构特征如下: 如果字符数是偶数,那么它在结构上表现为:一个字符序列连着另一个字符相同但次序恰好相反的字符序列. 如果字符数为奇数,那么它在结构上表现为:一个字符序列连着另一个字符相同但次序恰好相反的字符序列,但是这两个序列中间共享一个相同的字符. sed命令能够记住之前匹配的子样式.可以用正则表达式:'\(.\)',匹配任意一个字符,\1表示其反向引用.如匹配有两个字符的回文正则表达式为: '\(.\)\(.\)\2\1' 匹配任意长度的回文脚本如下所示: #!/bin/bash

如何在linux Shell脚本里面把一个数组传递到awk内部进行处理

前段时间和几位同事讨论过一个问题:Shell脚本里面怎样把一个数组传递到awk内部进行处理? 当时没有找到方法.前两天在QQ群里讨论awk的时候,无意间又聊起这个话题.机缘巧合之下找到一个思路,特此分享. 测试环境: [root]# head -1 /etc/redhat-release Red Hat Enterprise Linux Server release 6.5 (Santiago) [root]# awk --version | head -1 GNU Awk 3.1.7 众所周知

【shell脚本实例】一个恶作剧—— kill掉占用CPU较高的matlab进程

我们实验室有台服务器,博士们在服务器上跑MATLAB,基本都是4核都是超过95%的CPU占用,想了个恶作剧的shell 定时kill掉MATLAB程序,是不是很邪恶啊,哈哈~~~  不过我只是干过一次,因为老伯们也不容易啊,屌丝何苦为难屌丝... 废话不多说了上脚本! ? 1 2 3 找出CPU占用超过90%的MATLAB进程,grep -v 去掉"grep"进程 pids=`ps aux|grep "MATLAB"|grep -v "grep"

《Linux Shell脚本攻略》 笔记 第三章:文件操作

<Linux Shell脚本攻略> 笔记 第三章:文件操作 1.生产任意大小的文件 [[email protected] dd_test]# [[email protected] dd_test]# dd if=/dev/zero of=junk.data bs=1k count=10 10+0 records in 10+0 records out 10240 bytes (10 kB) copied, 0.00137023 s, 7.5 MB/s 2.文件系统相关测试 [ -f $file

Eclipse中的一个小插件easyExplorer--用于打开文件所在目录

最近格式化了硬盘,里面的诸多有价值的插件都没了,开发时需要打开java文件所在的目录,每次都很麻烦,实在无法忍受,就又重新下载了一个小插件,用以很方便的打开文件所在目录: easyExplorer 仅有7kb 一:官方下载地址: http://sourceforge.net/projects/easystruts/ 由于天朝网络问题,等个大概十来秒的时间出现下图: 二:配置方式: 直接将下载后的文件:org.sf.easyexplore_1.0.4.jar复制到eclipse下的plugins下

Linux基础知识:SHELL脚本;find查找、tar压缩;sed文件处理工具

Shell脚本编程基础?程序?程序:算法+数据结构?数据:是程序的核心?数据结构:数据在计算机中的类型和组织方式?算法:处理数据的方式?程序编程风格:过程式:以指令为中心,数据服务于指令对象式:以数据为中心,指令服务于数据?shell程序:提供了编程能力,解释执行高级编程语言:编译:高级语言-->编译器-->机器代码-->执行C,C++解释:高级语言-->执行-->解释器-->机器代码shell,python,php,JavaScript,perl编译语言:像吃大餐,做

Shell脚本(脚本中的逻辑判断,逻辑判断表达式,判断文件和目录属性,case判断)

逻辑判断表达式: -gt = 大于    -lt = 小于    -ge = 大于等于   -le = 小于等于   -eq = 恒等于  -ne = 不等于 这里要注意空格 也可以用&&和||结合多个条件 例如1: [[email protected] shell]# cat if4.sh #/bin/bash a=5 if [ $a -gt 4 ] && [ $a -lt 6 ] then echo "4<a<6" else echo n

脚本格式之殇——/bin/bash^M: 没有那个文件或目录

Linux下的bash脚本是不支持换行符\r的,如果运行从windows拷贝的文件,出现/bin/bash^M: 坏的解释器: 没有那个文件或目录这样的错误提示,不妨检查下文件格式是否有误. 如果是格式问题,有如下两种方法: 一.查找替换法 第一步: cat -A filename查看'\n及\r空白符,\n会显示为$,而\r会显示为^M`. 第二步: sed -i 's/\r$//'filename替换掉全部\r字符. 二.VIM重置文档格式 第一步: :set ff?查看文件格式,能看到fi

shell脚本,通过一个shell程序计算n的阶乘。

[[email protected] ~]# cat jiechen.sh #!/bin/bash #设计一个shell程序计算n的阶乘,要求: #1.从命令行接收参数n; #2.在程序开始后立即判断n的合法性,即是否有参数,若有是否为正整数,若非法请给错误提示. #3.最后出计算的结果 num=$1 expr $num + 1 &>/dev/null [ $? -ne 0 ] && echo "please input a number." &&