#!/bin/bash single='' #定义以个位数为目录的集合double='' #定位十位数为目录的集合#按照需要可以根据实际情况再定义以百位数为目录的集合 for dir in `ls -d [0-9]*` #开始遍历do if [ `ls -d [0-9]* | wc -l` -ge 10 ];then #判断当前的目录总数是否大于等于10 if [ `echo $dir | wc -c` = 2 ];then #判断是否为个位数的目录 single="${single} $dir…
在proc根目录下,以数字命名的目录表示当前一个运行的进程,目录名即为进程的pid.其内的目录和文件给出了一些关于该进程的信息. niutao@niutao-desktop:/proc/6584$ ls attr coredump_filter fd maps oom_score statm auxv cpuset fdinfo mem root status cgroup cwd io mounts sched task clear_refs environ limits mountstats…
用shell写了个递归遍历目录的脚本,本脚本实现递归遍历指定目录,打印目录下的文件名(全路径). #!/bin/sh       function scandir() {       local cur_dir parent_dir workdir       workdir=$1       cd ${workdir}       if [ ${workdir} = "/" ]       then           cur_dir=""       else …
问题现象:    <CRS_HOME>/cdata目录下存在大量数字命名的文件,导致文件系统爆满 $ls -alrth /opt/oracle/product/CRS/cdata/crs -rw-r--r-- root root : -rw-r--r-- root root : -rw-r--r-- root root : -rw-r--r-- root root : -rw-r--r-- root root : $ls /opt/oracle/product/CRS/cdata/crs |e…
首先,你写的shell脚本必须是正确的, 其次,无法运行的原因:因为windows下的换行是两个字节,而你上传到linux,linux下换行是两个字节,所以编译的酒不正确的,导致无法 运行脚本, 这种情况怎么办呢? 两种解决方法, 1.直接在linux环境,用vi来编写 2.上传上去的脚本要进行一下转换, dos2unix  --->  是把windows格式的文本转换成linux下格式 unix2dos  --->是把linux下文本格式转换成windows下的文本格式…
摘自:<Linux shell 脚本攻略>…
今天碰到一个奇怪的问题,编写好的shell脚本再linux上执行一直提示找不到文件或目录,后来想想是文本编辑器的问题,记录下来!!! 1.查看当前文本格式 Notepad++界面中,在右下角有文件格式的描述:“Dos\Windows或UNIX或Mac”. 2.文件转换方法 但是如果每写一个shell文件都需要这样转换可能会很麻烦,那有没有一劳永逸的办法呢?答案是有的,我们可以设置Notepad++默认新建的文件都是shell格式,具体操作如下: 打开在notepad++,设置,首选项 注意点:…
一.如何debug 1.通过sh命令的参数: sh [-nvx] scripts.sh 选项与参数: -n :不要执行 script,仅查询语法的问题: -v :再执行 sccript 前,先将 scripts 的内容输出到屏幕上: -x :将使用到的 script 内容显示到屏幕上,这是很有用的参数! 示例1:no news is good news [root@localhost tmp]# sh -n add1_100.sh [root@localhost tmp]# 示例2: [root…
工作中经常遇到关于目录方面的问题,例如,如何只列出当前目录下的所有目录,以及如何快速高效的切换目录,而不需要使用鼠标,下面将简单介绍关于这两方面的解决方案: 一.如何只列出目录? 看似简单的任务,其实就算是linux水平不错的人都有可能被这个问题难住. 下面介绍4种方法列出当前路径下的目录: 1.ls -d * amosli@amosli-pc:~$ ls -d * %APPDATA% develop many sorted.txt workspace bank Documents Music…
@echo off setlocal enabledelayedexpansion for %%x in (*) do ( if not "%%x"=="demo.bat" ( set /a sum+=1 rename "%%x" "!sum!.jpg" ) ) pause…