linux中“if [ -f $home$1]的”含义是什么?

linux中“if [ -f $home]的”含义是什么?,第1张

含义:

1、if 条件判断关键字。

2、[ ] 语法要求。

3、-f 文件比较运算符,如果 filename为常规文件,则为真 。

4、$home 取变量的值,如果.sh文件里面没有该就是则会取用户系统变量!你可以在终端中执行一下 echo $home 看看是什么路径。

5、$1 取输入的第一个参数.例: sh xxx.sh 111 那么此时 $1的值就是 111。

Linux *** 作系统是基于UNIX *** 作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类 *** 作系统,并且使用人数还在迅猛增长。

Linux是一套免费使用和自由传播的类Unix *** 作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的 *** 作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络 *** 作系统。它主要用于基于Intel x86系列CPU的计算机上。

-f 文件存在而且为真

-n str 字符串长度大于0为真

-z str 字符串长度为0真

str 字符串非空纬真

-eq 相等

-ne 不相等

-gt >

-lt <

-ge >=

-le <=

-r 可读为真

-w 可写为真

-x 可执行为真

-f 正规为真

-d 是目录为真

-c 其他字符文件为真

-b 块特殊文件真

-s 文件大小非0为真

逻辑判断:

-a 与

-o 或

! 非

# [ -f $home/$1 ] 表示的是判断$home/$1是不是文件,并且存在 $1表示的是你执行脚本的第一个参数,下面有详细的例子你可以练习一下!

[root@localhost test]# pwd

/root/test

[root@localhost test]# ls

eoopen  one.sh

[root@localhost test]# cat one.sh

#!/bin/bash

#这里我假设一下$home 和 $1这两个变量的值

home=root

if [ -f /$home/$1 ]then

        echo "它是文件而且存在这样的一个文件"

else

        echo "这不是一个文件,或者它不在在"

fi

[root@localhost test]# sh one.sh demo.php

它是文件而且存在这样的一个文件

[root@localhost test]# cd ../

[root@localhost ~]# pwd

/root

[root@localhost ~]# ls

anaconda-ks.cfg  demo2.php  demo.php  hxb.php  install.log  install.log.syslog  one.sh  PHPExcel_1.8.0_doc.zip  test


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8674548.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存