当前位置:  技术问答>linux和unix

UNIX菜菜鸟:一个非常简单的shell script

    来源: 互联网  发布时间:2014-12-25

    本文导语:  我写得不知道为什么总也通不过,不知道有哪位可以帮帮忙写出来让我看看,我自己错在什么地方了,多谢。虽然我知道这个很简单,但是我现在搞不掂,只好请大家帮帮忙拉。 1. Check if the file exists  2. Check if...

我写得不知道为什么总也通不过,不知道有哪位可以帮帮忙写出来让我看看,我自己错在什么地方了,多谢。虽然我知道这个很简单,但是我现在搞不掂,只好请大家帮帮忙拉。


1. Check if the file exists 
2. Check if the input argument is a Directory, instead of a file. 
3. Check if right number of argument is entered. 

Here are a few sample runs of the shell script chex2.
这是这个scripts运行时的几个输入例子。

$ ls -l
-rwxrwxr-x 1 ngyat ngyat 293 Oct 3 22:22 chex2*
-rw-rw-r-- 1 ngyat ngyat 8 Oct 3 22:36 test123
drwxrwxr-x 2 ngyat ngyat 4096 Oct 3 22:20 try/

$ chex2 test123
test123 is now executable:
-rwxrw-r-- 1 ngyat ngyat 8 Oct 3 22:36 test123


$ chex2 try
try is a Directory.


$ chex2 file_no_exits
file_no_exits does not exist.


$ chex2 test123 extra_arg
usage: chex2 

$ chex2 test123 extra_arg extra_arg2
usage: chex2 

$ chex2
usage: chex2 




以下是老师的Hints,高手不看也罢(我是傻的看了都没用)。
Hints:


1. Argument Variables:

$n [where n = 1, 2, ... n] The argument value follows the command. 
e.g. if we type: my_command a1 a2 


then, $0 = my_command ,$1 = a1 and $2 = a2
 
$#argv report the number of words in the input list

e.g. if we type: my_command a1 a2
we will have $#argv equals 2 

 

2. To test attribute of a file, you may want to use the following table:

Argument Test if it is a ... 
-d file file is a directory 
-f file  file is an ordinary file 
-r file  file is reable 
-w file  file is writable 
-x file file is executable 

Note: you only need to use TWO of the above arguments, NOT all.



The following are two examples of using the above attributes:


a) to check if a file is readable,

if (-r $filename) then
...
endif 

b) to check if a file is NOT writable,

if (! -w $filename) then
...
endif 

3. Use exit command to get out of the if loop and the script

4. Here is one sample portion of logic of your shell script. [Hint: There should be three of this if part].

if no input file name then

print error message

exit ## this command will terminate the script and lets you get back to the shell prompt

endif

 

 

|
$#表示你的参数个数,包括你的shell程序名
$0表示你的程序名
$1 $2 ....表示输入的参数
$*和$@都表示全体参数清单,使用
例子,打印所有输入参数
#!/bin/bash
for p in $@
do
  echo $p
done

|
1。
#!/bin/bash
if [ -f $1 ];
then
   echo "$1 is exist!"
else
   echo "$1 is not exist!"
fi

2。
#!/bin/bash
if [ -d $1 ];
then
   echo "$1 is directory!"
else
   echo "$1 is not directory!"
fi

3。
#!/bin/bash
if [ "$1" == "1234" ];
then
   echo "The inputing number  is right!"
else
   echo "The inputing number  is error!"
fi

    
 
 

您可能感兴趣的文章:

  • 我是菜鸟,听说去银行工作最好精通unix,可我现在学的是基于win2000的《现代操作系统》请问对以后学unix帮助大吗?
  • 菜鸟向sco unix+oracle高手请教
  • 菜鸟提问:请问Unix下面有没有类似Win32下_T这样的宏?
  • 菜鸟问题:现在要做unix下的c/c+编程的几个问题?
  • 菜鸟弱问Unix与硬件的兼容性问题
  • 菜鸟问题:unix中有像windows那样的自定义的环境变量吗?用java如何取
  • 关于SCO UNIX安装的菜鸟问题
  • 菜鸟提问:如何修改UNIX的shell提示符?
  • 菜鸟问题(sco unix网卡驱动安装)
  • 菜鸟提问:在Unix下如何象Windows一样抓屏?
  • 菜鸟询问关于Unix版本的问题
  • 安装sco unix 5.05 时,提示输入lisense number: 时找不到!!!!(菜鸟问题)
  • [菜鸟求助]unix_ident服务是什么东东?
  • 菜鸟问题:Linux/Unix下做C++开发,一般用什么工具??
  • unix 菜鸟发问,发言有分!!!!
  • 菜鸟问题:请问unix的内核部分的内容是不是能够调出到外存(对换区)?
  • 菜鸟问:windows和unix之间能否做磁盘镜像
  • unix c编程 菜鸟问题求助!
  • 菜鸟问题(可以安装Unix(AIX)+IBM DB2的最便宜的IBM机器是多少RMB)
  • 菜鸟问题,全文Linux和 Unix有 什么区别?
  • Unix shell script变数是否要声明?
  • 请教诸位高手一个unix下的script的问题
  • 急在线等!我想在win2000下模拟unix的环境来试 POSIX shell script
  • UNIX下用script删除10天前的log文件.
  • 在要在shell scripts中用unix命令读.properties的key 对应的value值
  • 我现在开始学unix应该先学什么?(我已会基本的命令了和shell script了)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • unix下的shell脚本中如何进行telnet到另一unix主机
  • Linux命令、编辑器与Shell编程 和 UNIX SHELL范例精解(第4版) 区别大么?
  • 初学者问题,Unix Shell
  • java开发知识 iis7站长之家
  • UNIX的SHELL fish
  • 新手问题(登入UNIX后怎么进入C SHELL编程,命令是什么)
  • sco unix下用shell重起
  • 在哪里有UNIX下SHELL讲座的幻灯片下载?
  • 在UNIX中,怎样写一个SHELL,删除目录下所有文件的前二行。
  • 求unix或者linux的shell源代码
  • 初学linux/unix shell 求过来人推荐本书(不是电子档),顺便散分
  • unix环境如何通过shell或java获取windows机器上的csv文件?
  • 问个unix下的shell问题
  • Unix shell的问题
  • 懂unix shell、oracle的高手,救命啊!!!
  • 【在线急等求助】UNIX-shell程序,对文本文件进行操作
  • 初学Unix Shell,写的东西总是不对,请教!
  • 请教unix的shell编程
  • 请推荐一两本shell编程方面的好书。UNIX,LINUX不论。
  • LINUX 和UNIX shell 编成指南(谁有啊?帮忙给我发一份啊)
  • java命名空间java.util.regex类pattern的类成员方法: unix_lines定义及介绍
  • 刚刚接触Unix系统和Unix编程。急需Unix下多线程程序设计和网络Socket程序设计方面的资料。
  • unix/Linux下c++ boost thread库读写锁介绍
  • 关于UNIX的历史 : 1973年,K.Thompson和D.M.ritchie,用C改写UNIX。那么,在此之前,UNIX是用什么写的?
  • php将标准字符串格式时间转换成unix时间戳_strtotime
  • 没有unix系统我如何学习unix
  • php将unix时间戳转换成字符串时间函数(date)
  • unix盘哪里有下载的??哪里有比较好的unix论坛??万分感谢!!!!!!!!!
  • unix/Linux下c/c++ pthread库读写锁函数介绍
  • 急!装完unix5.06,再装win2000。重启后不能进unix.
  • UNIX特急!!!digital unix问题,请专家快来!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3