shell脚本if [ $# -lt 1 ],$#代表传入的参数的格式,后面的-lt 1表示什么?知道的帮帮忙哈!

作者&投稿:贾晶 (若有异议请与网页底部的电邮联系)
在SHELL脚本里看到 if [ $# -lt 1 ]; then ,$#是什么意思?~

是表示调用这个脚本时提供的参数个数。
这句话是指,当调用该脚本没有提供参数时该如何处理

if [ $# -ne 1 ];then的意思是,如果shell传递到脚本的参数不等于1,则执行某命令。
$#:是指传递到脚本的参数个数。
-ne:是指不等于则为真。
if condition;then 是shell中的流程控制语法,意思是如果condition位真,则执行后面的语句。


扩展资料
1、shell几个特殊字符用来处理参数介绍:
$*:以一个单字符串显示所有向脚本传递的参数。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$$:脚本运行的当前进程ID号。
$!:后台运行的最后一个进程的ID号。
2、shell数值测试符号介绍:
-eq:等于则为真。
-gt:大于则为真。
-lt:小于则为真。

$#代表参数的个数。
-lt就是小于的意思

这个判断是说if参数的个数小于1


太和县13299634627: 在SHELL脚本里看到 if [ $#- lt 1 ]; then ,$#是什么意思?_
郗厘复肝: 是表示调用这个脚本时提供的参数个数. 这句话是指,当调用该脚本没有提供参数时该如何处理

太和县13299634627: shell脚本if [ $#- lt 1 ],$#代表传入的参数的格式,后面的-lt 1表示什么?知道的帮帮忙哈!_
郗厘复肝: $#代表参数的个数.-lt就是小于的意思 这个判断是说if参数的个数小于1

太和县13299634627: 在SHELL脚本里看到 if [ $#- lt 7 ]; then ,请高手详细解释?_
郗厘复肝: $# 取得百shell脚本参数个数,-lt 即 less than,小于,$0 取得脚本名度称(包含路径版) 若判断参数个数小于7个,则用echo打印正确的权使用方法,并用exit退出脚本.Usage: 脚本名称 subject analysis_dir anat_name anat_dir_name sanlm_...

太和县13299634627: UNIX/Linux shell脚本 if语句的几个案例 -
郗厘复肝: if [条件测试1] && (||) [条件测试2]; //以if为起始,后面可以接若 then //干个判断式,使用&&或|| 第一段程序执行内容 elif [条件测试3] && (||) [条件测试4]; //第二段的判断,如果第一 then //段没有符合就来此搜寻条件 第二段程序执行内容 else ...

太和县13299634627: Linux bash/sh/shell编程中的if语句应该怎么写 -
郗厘复肝: line="#abcmatch BCD" REGEXP="^[#]" # 变量赋值不需要前缀$ if [[ $line =~ $REGEXP ]] && [[ $line != '' ]]; then #粗心 [[ ]] 要配对使用 你写成了 [[ ] [ ]] true #shell 不能使用空的if 结构,至少要有一个命令. 可以使用true命令 . echo yes else ...

太和县13299634627: 如何使用shell脚本中的if语句检查条件 -
郗厘复肝: [root@localhost ~]# cat c a=1 if [ $a -eq 1 ];thenecho a 等于1 elseecho a 不等于1 fi [root@localhost ~]# sh c a 等于1

太和县13299634627: shell脚本if函数判断奇偶 -
郗厘复肝: 你既然已经知道这个文件叫什么就没有意义了....理论上应该用find命令或者你知道这个目录在系统中的什么位置. 比如 ls | grep aaa a=`echo $?` b=`ls | grep aaa` if [ $a -eq 0 ] then tar zcvf Name.tar.gz $b else echo 'Don't have this file.' fi

太和县13299634627: 创建一个script,Linux shell脚本 -
郗厘复肝: 和C语言类似,在Shell中用if、then、elif、else、fi这几条命令实现分支控制.这种流程控制语句本质上也是由若干条Shell命令组成的,例如先前讲过的 if [ -f ~/.bashrc ]; then~/.bashrc fi 其实是三条命令,if [ -f ~/.bashrc ]是第一条,then . ~/.bashrc...

太和县13299634627: 用shell函数或是if语句写一个“一个字符替换一个文件夹中所有文件中的相同字符”的小程序” -
郗厘复肝: 以下shell脚本完成将指定文件夹下所有文件中的abc都替换为def.#!/bin/sh folder=/home/myFolder #这里可以写绝对路径也可以写相对路径,但建议前者 src="abc" #要替换的字符串 des="def" #替换后的字符串 echo "Replacing..." sed -i "/$src/s/$src/$des/g" $folder/* echo "Done!"请自行修改目录路径及字符串定义. 此脚本没有考虑目录中含有子目录的情况,若有此需求,请提出.

太和县13299634627: 编写一个shell脚本,脚本名为shell,执行该脚本的功能是:判断第一个位置参数是否是 -
郗厘复肝: #!/bin/bash (( $# > 0 )) || exit [[ ! $1 =~ ^[/]*root$ ]] && echo "第一个位置参数不是/root目录" && exit ls -a /$1 > 13out shift while (( $# > 0 )) do[ -f $1 ] && echo "File "$1":" >> 13out && cat $1 >> 13out && shift && continue[ -d $1 ] && echo "this dir" && shift && continueecho "该文件($1)既不是普通文件也不是目录文件"shift done

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