首页 > 解决方案 > csh 脚本 - 传递变量并从另一个 csh 脚本调用 csh 脚本

问题描述

我试图理解将两个变量从一个 csh 脚本传递到另一个 csh 脚本。执行简单的算术函数,然后将 sum 变量传递给原始 csh 脚本。然后将 sum 变量输出到标准输出和文件。

脚本1.sh

#!/bin/csh
setenv num1 3
setenv num2 2
source script2.sh
set total=$sum
echo $total > total.txt
echo $total

脚本2.sh

#!/bin/csh
set int1=$num1
set int2=$num2
set sum=$int1 + $int2

标签: shellvariablesscriptingcsh

解决方案


使用“csh”,“set”命令执行简单的(字符串)赋值,并接受一个单词。赋值 'set sum=$int +$int2' 有 2 个问题

  • 它不使用一个词
  • 即使表达式被组合成一个单词(set sum="$int1 + $int2"),该集合也不评估表达式。

考虑改为使用“@”命令,该命令将采用表达式

@ sum2 = $int1 + $int2

Sde 注意:对于“csh”脚本,通常的约定是使用“.csh”后缀。'.sh' 后缀通常用于与类似 sh 的 shell(sh、bash、ash、...)相关的文件


推荐阅读