急!!编写一个Shell程序,它将第2个参数及其后的参数指定的文件复制到第1个参数指定的目录中。

原题:编写一个Shell程序,它将第2个参数及其后的参数指定的文件复制到第1个参数指定的目录中。要求对输入的参数做必要的检查。

if [ ! -d $1 ]
then
echo "$1 is not a dir"
exit 1
fi
dir=$1
shift
until [ $# -eq 0 ]
do
if [ -f $1 ]
then
echo "copy file $1 to $dir"
cp $1 $dir
else
echo "$1 is not a file,skip"
fi
shift
done

温馨提示:内容为网友见解,仅供参考
无其他回答

...个位置参数及其以后的各个参数指定的文件复制到第一个位置参数指定的...
第一个问题 !\/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 ...

Linux的编程问题! 编写一个shell脚本 它把第二个位置参数及其以后的各个...
保存文件复制后的路径,即第一个参数dir = $1# 参数前移,运行shift命令之后,$1的值就变成$2的值了,原来的$1就不存在了。# 同理$2的值变成$3的值,如果原来有9个参数,通过shift之后就剩下8个shift# 当没有把全部参数前移完时while [ $1 ]do# 这个赋值语句也可以不要file = $1# 完成...

Shell基本命令
grep命令用于在不列出文件内容的情况下查找文件内容,支持正则表达式。find命令用于在指定目录及其子目录中查找文件,基于各种属性进行搜索。locate命令通过快速的路径名数据库搜索定位文件,速度快,使用updatedb命令更新路径名数据库。whereis命令查找程序文件,返回二进制文件、源代码文件和手册位置,使用-b选项...

教你如何手工打造一个完美的WinPE3.0步骤
这个文件是用来自定义PE的登录方式的,这里只讲解 [Shell] 部分, [Shell] 此行必须保留。 格式: 举例: BS图形界面=%SystemDrive%Program FilesBsExplorerexplorer.exe 参数说明: = 之前的内容为登陆框下拉菜单中的显示文字(允许空格和汉字),之后的内容为一个PE Shell的路径,其实就是一个可执行程序,但是如果只...

如何使用Linux shell编程来进行系统管理和网络管理
在Shell中,脚本名称本身是$0,剩下的依次是$0、$1、$2…、${10}、${11},等等。$*表示整个参数列表,不包括$0,也就是说不包括文件名的参数列表。现在我们明白第三行的含义是如果脚本文件的参数少于三个,则执行if和fi语句之间 的内容。然后,从第四行到第十一行之间的内容在Shell Script编程中被称为Here文档,...

shell编程命令大全(shell编程常用命令)
cat命令cat(连接的缩写)是Linux中最常用的命令之一。它用于在标准输出(sdout)上列出文件的内容。要运行此命令,请键入cat,然后输入文件名及其扩展名。例如:catfile.txt。4LINUX系统常用命令1与系统管理有关的命令Wall(WriteAll)对全部已登录的用户发送信息,用户可以先反要发送的信息写好存入一个文件中...

如何编写shell脚本将一个目录下所有的文件的扩展名改为bak?
base=${file%.*} mv $file ${base}.bakdone其中,${file%.*}表示去除文件扩展名,即最后一个点号及其后的所有内容。若不带扩展名,如你例子中的4,则返回本身。或者,for循环中也可以用sed直接替换得到新文件名:newFile=$(echo $file|sed 's\/\\..*\/\\.bak\/')mv $file $newFile ...

Xshell用什么命令进入
打开电脑上的虚拟机,启动Linux系统,然后打开Xshell软件,连接上Linux系统,如下图所示。图1:连接Linux 第一个命令:ls -l ls全称是list,列出指定路径下的所有文件,-l表示显示文件的完整属性。图2:查看文件命令 第二个命令:pwd 表示显示当前所在的目录,当我们操作很多目录之前不知道当前目录所在时...

dos映射命令 在线等!!!
open ip 连接到IP(属telnet登陆后的命令) telnet 在本机上直接键入telnet 将进入本机的telnet copy 路径\\文件名1 路径\\文件名2 \/y 复制文件1到指定的目录为文件2,用参数\/y就同时取消确认你要改写一份现存目录文件 copy c:\\srv.exe \\\\ip\\admin$ 复制本地c:\\srv.exe到对方的admin下 cppy 1st.jpg\/b+2...

帮忙指教一下DOS的使用?
open ip 连接到IP(属telnet登陆后的命令) telnet 在本机上直接键入telnet 将进入本机的telnet copy 路径\\文件名1 路径\\文件名2 \/y 复制文件1到指定的目录为文件2,用参数\/y就同时取消确认你要改写一份现存目录文件 copy c:\\srv.exe \\\\ip\\admin$ 复制本地c:\\srv.exe到对方的admin下 cppy 1st.jpg\/b+2...

相似回答