在linux中,if [ -f $home/$1]的含义

在linux中,if [ -f $home/$1]的含义

# [ -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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-30

含义:

1、if 条件判断关键字。

2、[ ] 语法要求。

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

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

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

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

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

本回答被网友采纳
第2个回答  2017-06-21
if [ -f $home/$1]
1.if 条件判断关键字
2.[ ] 语法要求
3.-f 文件比较运算符,如果 filename为常规文件,则为真
4.$home 取变量的值,如果.sh文件里面没有该就是则会取用户系统变量!你可以在终端中执行一下 echo $home 看看是什么路径
5.$1 取输入的第一个参数.例: sh xxx.sh 111 那么此时 $1的值就是 111

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网