linux tcsh demo

set var1=xuehaodang   #tcsh 用set定义变量;set的用法与bash大不相同;
set var2 = xhdwife
echo $var1
echo $var2
set i=0
foreach list (a b c d e f)  #foreach 循环,以end结束;与bash中的for in 循环类似
echo $list
end
repeat 3 echo $i
while($i<5)      #while循环,以end结束;
echo $i
set i = `expr $i + 1`  # expr进行数学运算, 运算数字以及符号之间需用空格隔开
if($i == 4) then    # if 与then必须在同一行
echo '$i == 4'
else
echo '$i != 4'
endif
end

foreach list (`ls ./`)
echo $list
end

foreach list (${argv[*]})  #tcsh 中的数组用法
echo ${#argv}  #数组元素个数
echo $list
end

echo 'echo $*'  #传给脚本的所有参数
echo $*
echo 'echo $#'  #传给脚本的所有参数的个数
echo $#
#echo $@ $@ illegal variable

 

补充:

  • 测试表达式

  if ( -e  file01 ) then    # 检测文件 file01 是否存在

    cmd01

  end

  常用检测命令:

  -e  file01  检测文件 file01 是否存在,存在则返回 1, 否则返回 0

  -f   file01  检测文件 file01 是否是普通文件

  -d  file01  检测文件 file01 是否是目录  

  -w file01   检测文件 file01 是否可写

  •    创建数值变量

   @  num = 101  ; @ n01 = $num * 2 ; echo $n01    # 注意用 @ 开头,且@与变量之间需留空格;set与@定义变量的区别不明

  • 连续执行

  如果需要在一行命令中连续执行多条shell命令,有以下几种写法:

  1) cmd1 ; cmd2 ; cmd3            # 按顺序执行三个 cmd,不管是否成功执行

  2) cmd1 && cmd2 && cmd3     # 顺序执行三个 cmd,只有前边的 cmd 执行成功,才会继续执行

  3) cmd1 || cmd2 || cmd3         #  如果 cmd1 执行成功,就不执行之后的 cmd。

  

  •   setenv   var  value      # 设置环境变量 var ,全局可用,注意这里没有等于号;setenv是tcsh独有的命令,bash没有
posted @ 2022-02-09 16:24  学号党  阅读(122)  评论(0编辑  收藏  举报