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