Linux shell if [ -n ] 正确使用方法「建议收藏」

Linux shell if [ -n ] 正确使用方法「建议收藏」if[str1=str2]      当两个串有相同内容、长度时为真 if[str1!=str2]     当串str1和str2不等时为真 if[-nstr1]      当串的长度大于0时为真(串非空) if[-zstr1]       当串的长度为0时为真(空串) if[str1]        当串str1为非空时为真

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

if [ str1 = str2 ]       当两个串有相同内容、长度时为真 

if [ str1 != str2 ]      当串str1和str2不等时为真 

if [ -n str1 ]       当串的长度大于0时为真(串非空) 

if [ -z str1 ]        当串的长度为0时为真(空串) 

if [ str1 ]         当串str1为非空时为真

shell 中利用 -n 来判定字符串非空。

错误用法:

ARGS=$*

if [ -n $ARGS  ]

then

   print “with argument”

fi

print ” without argument”

不管传不传参数,总会进入if里面。

原因:因为不加“”时该if语句等效于if [ -n ],shell 会把它当成if [ str1 ]来处理,-n自然不为空,所以为正。

正确用法:需要在$ARGS上加入双引号,即”$ARGS”.

ARGS=$*

if [ -n “$ARGS”  ]

then

   print “with argument”

fi

print ” without argument”

版权声明:本文为转载文章,来源于 ciky2011 ,版权归原作者所有,欢迎分享本文,转载请保留出处!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157685.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Node.js中常见的异步/等待设计模式

    Node.js中常见的异步/等待设计模式

    2021年6月7日
    84
  • jpeg图像压缩算法流程详解_图像压缩最快算法

    jpeg图像压缩算法流程详解_图像压缩最快算法JPEG是Joint Photographic Exports Group的英文缩写,中文称之为联合图像专家小组。该小组隶属于ISO国际标准化组织,主要负责定制静态数字图像的编码方法,即所谓的JPEG算法。JPEG专家组开发了两种基本的压缩算法、两种熵编码方法、四种编码模式。如下所示:压缩算法:(1)有损的离散余弦变换DCT(Discrete Cosine Transform)(2)无

    2025年7月6日
    2
  • 剑指 Offer 56 – II. 数组中数字出现的次数 II

    剑指 Offer 56 – II. 数组中数字出现的次数 II在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。示例 1:输入:nums = [3,4,3,3]输出:4示例 2:输入:nums = [9,1,7,9,7,9,7]输出:1限制:1 <= nums.length <= 100001 <= nums[i] < 2^31设置一个数组代表32位,每一位代表当前所有数组中当前位出现次数之和。然后%3,然后拼凑class Solution {public: in

    2022年8月8日
    6
  • Spring加载resource时classpath*:与classpath:的区别

    Spring加载resource时classpath*:与classpath:的区别Spring 可以通过指定 classpath 与 classpath 前缀加路径的方式从 classpath 加载文件 如 bean 的定义文件 classpath 的出现是为了从多个 jar 文件中加载相同的文件 classpath 只能加载找到的第一个文件 比如 resource1 jar 中的 package com test rs 有一个 jarAppcontex xml 文件 内容如下

    2025年5月21日
    8
  • RabbitMQ入门:路由(Routing)

    在上一篇博客《RabbitMQ入门:发布/订阅(Publish/Subscribe)》中,我们认识了fanout类型的exchange,它是一种通过广播方式发送消息的路由器,所有和exchange建立

    2022年2月16日
    69
  • 图像处理——分水岭算法

    图像处理——分水岭算法首先感谢以下两位的博文帮助我的理解:(1)迈克老狼2012  https://www.cnblogs.com/mikewolf2002/p/3304118.html(2)-牧野-       http://blog.csdn.net/dcrmg/article/details/52498440分水岭算法是一种图像区域分割法,在分割的过程中

    2022年5月16日
    63

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号