当前位置: 技术问答>linux和unix
关于编一个shell的问题(偶MM问的)
来源: 互联网 发布时间:2015-05-01
本文导语: 最近,偶MM在学linux,偶对它一窍不通,她问了偶一些问题,在下实在无法回答,特请各位大侠帮忙,以下是问题: 编写一个shell程序;如果形参的个数多于一个则打印一条错误信息,否则,如果第一个形参为文件的...
最近,偶MM在学linux,偶对它一窍不通,她问了偶一些问题,在下实在无法回答,特请各位大侠帮忙,以下是问题:
编写一个shell程序;如果形参的个数多于一个则打印一条错误信息,否则,如果第一个形参为文件的话,那么在该文件中查找linux字符串;如果是一个目录的话,显示该目录下的所有文件信息。
在此先谢谢各位大侠,只要有正确答案,立即结贴。
编写一个shell程序;如果形参的个数多于一个则打印一条错误信息,否则,如果第一个形参为文件的话,那么在该文件中查找linux字符串;如果是一个目录的话,显示该目录下的所有文件信息。
在此先谢谢各位大侠,只要有正确答案,立即结贴。
|
!/bin/sh
if [ $# -ne 1 ]
then
echo "USAGE: $0 + filename(dirname)"
exit 1
fi
if [ -d $1 ]
then
ls -l $1
elif [ -f $1 ]
then
grep linux $1
else
echo "not exist or other type"
fi
if [ $# -ne 1 ]
then
echo "USAGE: $0 + filename(dirname)"
exit 1
fi
if [ -d $1 ]
then
ls -l $1
elif [ -f $1 ]
then
grep linux $1
else
echo "not exist or other type"
fi
|
#!/bin/sh
ME=`basename $0` # captures name of current script without directory name
if [ -z "$3" ] # checks if a command line argument has been passed.
then
echo "USAGE: $ME user passwd command filename" # if not, print error message and exit
exit 1
fi
ME=`basename $0` # captures name of current script without directory name
if [ -z "$3" ] # checks if a command line argument has been passed.
then
echo "USAGE: $ME user passwd command filename" # if not, print error message and exit
exit 1
fi
|
要告诉你程序怎么写么?
|
如果$2不为空的话就可以判定不止一个形参了
然后判断是否是文件
如果是文件的话就可以安需用sed或awk等进行查找
如果是目录的话直接用ls就可以列出所有文件信息了
然后判断是否是文件
如果是文件的话就可以安需用sed或awk等进行查找
如果是目录的话直接用ls就可以列出所有文件信息了
|
牛牛写的可以参考
|
牛牛写的很完整,也正确。交给你MM吧。