这是我的代码:

#!/bin/bash

if [ "$#" -ne 2 ] ; then

echo "$0: exactly 2 arguments expected"

exit 3

fi

if [$1 != "file" -a $1 != 'dir'] ; then

echo "$0: first argument must be string "file" or "dir""

exit 1

elif [-e $2 -a -r $2]; then

if ["$1" = "file" -a -f $2] ; then

echo YES

elif ["$1" = "dir" -a -d $2] ; then

echo YES

else

echo NO

fi

exit 0

else

echo "$0: $2 is not a readable entry"

exit 2

fi

如果我运行./lab4文件filename1,它将检查第一个参数是字符串“file”还是“dir”,如果第一个参数是“file”,filename1是一个文件,它将打印yes。相同的东西对于目录。

它不识别$ 1和$ 2。代码将输出:

./lab04Q2: line 7: [file: command not found

./lab04Q2: line 10: [-e: command not found

即使我在运行程序时放置了2个参数。

linux判断字符串命令行,bash – 将命令行参数与字符串进行比较相关推荐

  1. Linux学习一:(Bash 常用命令、vim操作、Linux框架目录)

    一.Bash 常用命令 1.管道(PIPING) 1.1 | 一种管道,其左方是一个命令的 STNOUT,将作为管道右方的另一个命令的 STDIN. 例如:echo 'test text' | wc ...

  2. Linux 学习手记(1):命令行BASH的基本操作

    1. Shell 是什么 Shell(壳)是用户与操作系统底层(通常是内核)之间交互的中介程序,负责将用户指令.操作传递给操作系统底层. Shell一般分为:图形化Shell(GUI).命令行Shel ...

  3. Linux命令行–基本的bash shell命令

    启动shell: /etc/passwd:包含系统用户账户列表以及每个用户的基本配置信息 每个条目有七个字段,每个字段用冒号隔开 用户名 用户密码 用户的系统UID 用户的系统GID 用户的全名 用户 ...

  4. Linux shell 学习笔记(8)— 使用结构化命令(if-then 语句、数值比较、字符串比较、文件比较、case 语句)

    1. 使用 if-then 语句 最基本的结构化命令就是if-then语句.if-then语句有如下格式. if command then ​ commands fi 或者 if command; t ...

  5. linux快捷命令补齐,Linux Shell简介——自动补齐/命令行的历史记录/编辑命令行/可用的 Shell 快捷方式.doc...

    Linux Shell简介--自动补齐/命令行的历史记录/编辑命令行/可用的 Shell 快捷方式 Unix (及后继者 Linux)在命令行下面诞生,因此,Unix 中的命令行有许多非常实用的功能. ...

  6. Linux中10个有用的命令行补齐命令

    本文由 极客范 - 踏雁寻花 翻译自 Balakrishnan Mariyappan.欢迎加入极客翻译小组,同我们一道翻译与分享.转载请参见文章末尾处的要求. 在Linux系统中,输入一个命令,再按两 ...

  7. java判断字符串是否包含某个字符串_Bash技巧:使用[[命令的 =~ 操作符判断字符串的包含关系...

    在 Linux bash shell 中,可以使用 [[ 命令来进行判断. 其中,可以使用 [[ 命令的 =- 操作符来判断某个字符串是否包含特定模式. 查看 man bash 对 [[ 命令的 =~ ...

  8. 第二周 Linux文件管理类命令及bash基本特性

    第二周 Linux文件管理类命令及bash基本特性 摘要 1.描述Linux上的文件管理类命令并详解. 2.描述Bash的工作特性. 3.描述文件的元数据信息详解. 4.描述命令别名的使用. 5.详解 ...

  9. linux补齐命令,Linux中10个有用的命令行补齐命令

    在Linux系统中,输入一个命令,再按两次TAB键,就会列出所有以输入字符开头的可用命令.这并不新鲜,很可能你已经知道了这个.这个功能被称作命令补全.默认情况下,bash命令行可以自动补全文件或目录名 ...

最新文章

  1. 和12岁小同志搞创客开发:手撕代码,做一款节拍电子鼓
  2. VM虚拟机中的centos6.3命令行模式添加GCC
  3. python 语言教程(4)元组
  4. 蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载【2013年(第4届)~2021年(第12届)】
  5. 2019下半年系统集成项目管理工程师上午真题
  6. 无心剑英译林清玄《永恒》
  7. war包怎么解压_微信猫和老鼠主题怎么搞?快来看
  8. UFT11.5如何复用QTP9.2的脚本
  9. 数学建模算法体系分类
  10. 程序员5种编程入门方法,快速学会一门编程语言!
  11. 基恩士PLC⑤--Fault程序实例笔记
  12. 嵌入式Linux入门-代码重定位和清除bss段讲解
  13. 如何自定义文档工程师绩效考核标准? | 职场杂谈
  14. vscode编辑器搜索小技巧
  15. assert()详解
  16. 面向开发人员的代码安全指南
  17. setVisibility
  18. C++复习之路24:计算机网络相关4:
  19. 蓝桥杯每日一题(17):神奇算式(python)
  20. Zabbix 服务端虚拟机的安装

热门文章

  1. 不花钱的pdf编辑器_PDF补丁丁,一款能修改PDF的插件,只有8M~
  2. 如何高效的将 DataReader 转成 List<T> ?
  3. 在C#中对列表/数组进行碎片整理——关闭所有空白
  4. 在.NET Core 3.0 Preview上使用Windows窗体设计器
  5. lwip连续发数据卡死_LwIP用TCP连接方式在数据量比较大协议栈卡死
  6. java enumset_Java EnumSet工作原理初窥
  7. java list 取两条_java list集合中有多条数据随机两条一组
  8. java 遍历循环_如何在Java中实现循环遍历?
  9. python关于row的规范_Python DB-API 2.0规范
  10. 信佑7linux下载,信佑2012