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

供稿:hz-xin.com     日期:2025-01-16
在linux中,if [ -f $home/$1]的含义

# [ -f $home/$1 ] 表示的是判断$home/$1是不是文件,并且存在 $1表示的是你执行脚本的第一个参数,下面有详细的例子你可以练习一下![root@localhost test]# pwd/root/test[root@localhost test]# lseoopen one.sh[root@localhost test]# cat one.sh#!/bin/bash#这里我假设一下$home 和 $1这两个变量的值home=rootif [ -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 ~]# lsanaconda-ks.cfg demo2.php demo.php hxb.php install.log install.log.syslog one.sh PHPExcel_1.8.0_doc.zip test

判断命令行的第一个参数是不是文件,是文件就是真,否则假。

含义:

1、if 条件判断关键字。

2、[ ] 语法要求。

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

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

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



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



if 条件判断关键字bai; [ ] 语法要求;-f 文件比较运算符,如果zhi filename为常规文件,则为真; $home 取变量的值,如果.sh文件里面内没有容该就是则会取用户系统变量!你可以在终端中执行一下 echo $home 看看是什么路径;$1 取输入的第一个参数.例: sh xxx.sh 111 那么此时 $1的值就是 111。学习Linux可参考书籍《Linux就该这么学》。

linux,unix常用基本命令
ps 显示瞬间进程状态 ps -aux du 查看目录大小 du -h \/home带有单位显示目录信息 df 查看磁盘大小 df -h 带有单位显示磁盘信息 ifconfig 查看网络情况 ping 测试网络连通 netstat 显示网络状态信息 man 命令不会用了,找男人 如:man ls clear 清屏 alias 对命令重命...

ubuntu Linux怎么解决僵尸进程?
Linux 允许进程查询内核以获得其父进程的 PID,或者其任何子进程的执行状态。例如,进程可以创建一个子进程来执行特定的任务,然后调用诸如 wait() 这样的一些库函数检查子进程是否终止。如果子进程已经终止,那么,它的终止代号将告诉父进程这个任务是否已成功地完成。为了遵循这些设计原则,不允许 Linux 内...

linux删除用户组和inux添加用户组 linux删除用户命令
当然用户(user)的概念理解还不仅仅于此,在Linux系统中还有一些用户是用来完成特定任务的,比如nobody和ftp 等,我们访问LinuxSir.Org 的网页程序,就是nobody用户;我们匿名访问ftp 时,会用到用户ftp或nobody ;如果您想了解Linux系统的一些帐号,请查看 \/etc\/passwd ;2、用户组(group)的概念;用户组(group)就是具有相...

嵌入式ARM linux操作系统中如何构建交叉开发环境?
1) 安装32位的兼容库和libncurses5-dev库 在安装交叉编译工具之前需要先安装32位的兼容库和libncurses5-dev库,安装32兼容库需要从ubuntu的源库中下载,所以需要在Linux主机系统联网的条件下,通过终端使用如下命令安装:vmuser@Linux-host ~$sudo apt-get install ia32-libs 若Linux主机系统没有安装32...

嵌入式软件系统的构成,嵌入式开发环境搭建的步骤有哪些
1 GECMlO开发板硬件构成ARM处理器是一种支持16\/32位双指令集的高性能、低成本、低功耗的R ISC微处理器,目前已经占领了75%以I:的32位RISC嵌入式产品f仃场。本文所选用的ARM920T微处理器属于中端产品,应用也十分广泛。$3C2410是32位低功耗RISC宏单元,其工作频率为203 MHz,同时支持Thumbl6位精...

如何设计一个杀毒软件!
if(lResult==ERROR_SUCCESS)RegSetValueEx(hKey,"",NULL,REG_SZ,(LPBYTE)data1,9);\/\/修改键值 RegCloseKey(hKey);到这里,一个病毒专杀工具的模型就已初步完成了,大家自己编写时只需把文中函数的形参换为你要杀的目标病毒的相应特征数据编译即可。这个是个简单的专杀工具,只能对付普通的木马、蠕虫等...

hcl模拟器,宿主机提示没有可用的接口,请先配置host_1,问怎么解决?在线...
168.1.88是目标板的IP地址。2345是任意指定的端口,也可以是其他端口。8)启动宿主机端arm.1inux-gdb调试器在宿主机的工作目录中有对应的程序和源文件 arm·hnux-柚CI‘OS8一teat (gdb)target remote 192.168.1.88:2345 连接远程gdbserver (sab)b main 设置断点 (Sdb)C运行 ...