当前位置:首页 » 网页前端 » shell脚本下如何进入参数指定目录
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

shell脚本下如何进入参数指定目录

发布时间: 2023-02-16 10:15:01

A. 如何在linux中使用shell脚本遍历指定目录的文件,将创建时间大于指定时间的文件,复制到指定目录下。

大于指定时间?最简单的就是直接find里面指定吧。例如,查找当前目录及其子目录所有mtime大于1天的文件:
find
/path
-type
f
-mtime
+1
即可,/path
可以换成其他路径,-mtime
+1
表示时间大于1天。-1的话表示小于一天也就是1天之内的。

B. 编写一个shell脚本,它把第二个位置参数及其以后的各个参数指定的文件复制到第一个位置参数指定的目录中。

#!/bin/bash
dest_dir=$1
shift
cp $* $dest_dir/

C. shell脚本同时复制一个目录下的多个文件到指定目录

#!/bin/sh
dir=$1
time=$2
otdir=$3
tmp=`find
$1
-mtime
+$2
-print`
echo
$tmp
cp
$tmp
$otdir
执行时
要有3个参数指定文件的目录
大于指定的时间
复制到的目录
没写验证部分
参数顺序不要写错

D. shell脚本,若位置参数1指定的目录存在,则跳到该目录,并显示位置参数2指定的文件的

#!/bin/shpicdir=/opt/wwwfind${picdir}-typef-iname"*[jpg|jpeg|png|gif|bmp]"|grep-v"_"|teepicfile.txt

E. 一.编写一个Shell脚本,实现如下功能: 1、从脚本参数获取到的目录名列表;

3.# !/bin/bash
cd $1
ls –a|grep ‘*.dat’
ls –a|grep ‘*.log’
mkdir DONE/
for files in *.dat
do
mv $datfile ${datfile%.dat}._donedat
cp -r ${datfile%.dat}._donedat DONE/${datfile%.dat}._donedat
done
for logfile in *.log
do
mv $ logfile ${ logfile %.log}._donelog
cp –r ${ logfile %.log}._donelog DONE/${datfile%.dat}._donelog
done

F. 用shell写一个脚本,根据参数搜索任意指定的目录,将该目录下的文件输出到控制台。 输出样例如下:

if[$#-lt1];then
echo"USAGE:$0[path]"
exit
fi
foriin$*
do
if[!-d$i];then
echo"$inotexist"
continue
fi
cd$i
echo"filesin$i:"
ls-l|awk'{print$8}'
done

G. 1:编写一个Shell脚本,他把第二个位置参数及其以后的各个参数指定的文件复制到第一个位置参数指定的目录

第一个问题
#!/bin/bash
while [ "x$2" != "x" ]; do
cp $2 $1
shift
done

第二个问题
#!/bin/bash
date
$num=`w|grep "username"|grep -cv "grep"`
if [ $num -ne 0 ]; then
write username <<-EOF
you are online
EOF
fi

H. 编写shell脚本找出参数指定路径中的所有目录文件

if [ $# = 0 ]
then
echo "usage:$0 <path>"
exit 1
fi
if [ ! -d $1 ]
then
echo "not a directory"
exit 1
fi
#只找目录
ls -l $1|grep ^d|awk '{print $NF}'
#找目录和文件
ls -l $1
#不知道你问的是目录,还是目录+文件,都写上了

I. shell 脚本参数 路径怎么设置

linux系统除了提供位置参数还提供内置参数,内置参数如下:
$# ----传递给程序的总的参数数目
$? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。
$* ----传递给程序的所有参数组成的字符串。
$n ----表示第几个参数,$1 表示第一个参数,$2 表示第二个参数 ... $0 ----当前程序的名称
$@----以"参数1" "参数2" ... 形式保存所有参数
$$ ----本程序的(进程ID号)PID
$! ----上一个命令的PID

J. shell将一个目录作为参数传递给脚本并完成如下功能

#!/bin/bash
dir=$1
if [ ! -d $dir ];then
echo $dir is not dir
fi
cd $dir

f=0
d=0
for i in `ls -R $dir`;do
if [ ! -d $i ];then

cat $i

let f++

else

echo $i is dir

let d++

fi

done
echo file num is $f
echo dir num is $d