CSH 入门基础 2 -- csh(C Shell)对文件/目录的判断及对参数的处理

文章目录

    • 1.1 csh 对文件的判断
    • 1.2 csh 脚本对参数的判断处理

1.1 csh 对文件的判断

在 csh中,可以使用以下语法来判断文件和目录是否存在、是否可读、可写或可执行:
判断文件是否存在if (-e filename) then ... endif
判断目录是否存在if (-d dirname) then ... endif
判断文件或目录是否可读if (-r filename_or_dirname) then ... endif
判断文件或目录是否可写if (-w filename_or_dirname) then ... endif
判断文件或目录是否可执行if (-x filename_or_dirname) then ... endif

其中,filename 和 dirname 分别表示文件名和目录名,filename_or_dirname 表示文件名或目录名。如果判断条件为真,则执行if语句块中的命令,否则不执行。

以下是一个使用csh判断文件是否存在的示例:

#!/bin/csh

set filename = "test.txt"

if (-e $filename) then 
	echo "$filename exists" 
else 
	echo "$filename does not exist"
endif 

在这个示例中,判断文件 test.txt 是否存在,如果存在,则输出"$filename exists",否则输出"$filename does not exist"。

1.2 csh 脚本对参数的判断处理

在csh中,可以使用以下语法来判断命令行参数的个数、是否存在以及获取它们的值:

判断命令行参数个数:if ($#argv == n) then ... endif,其中 n 为期望的参数个数。
判断命令行参数是否存在:if ("$1" != "") then ... endif,其中$1表示第一个参数,如果不为空,则参数存在。
获取命令行参数的值:set arg = $n,其中n为参数的位置,arg为变量名。

以下是一个使用csh获取命令行参数并判断参数个数的示例:

#!/bin/csh

if ($#argv != 2) then 
	echo "Usage: $0 arg1 arg2" 
	exit 1 
endif

set arg1=$1 
set arg2=$2

echo "arg1=$arg1" 
echo "arg2=$arg2"

在这个示例中,首先判断命令行参数的个数是否为2,如果不是,则输出使用说明并退出程序。如果参数个数正确,则分别获取第一个参数和第二个参数的值,并输出它们的值。

你可能感兴趣的:(Tools,c语言,服务器,java)