shell - 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
解决方案
使用“csh”,“set”命令执行简单的(字符串)赋值,并接受一个单词。赋值 'set sum=$int +$int2' 有 2 个问题
- 它不使用一个词
- 即使表达式被组合成一个单词(set sum="$int1 + $int2"),该集合也不评估表达式。
考虑改为使用“@”命令,该命令将采用表达式
@ sum2 = $int1 + $int2
Sde 注意:对于“csh”脚本,通常的约定是使用“.csh”后缀。'.sh' 后缀通常用于与类似 sh 的 shell(sh、bash、ash、...)相关的文件
推荐阅读
- r - 在R中的函数内顺序调用函数
- java - API GET 请求 - UDF 字段
- c# - 使用 autofac 继承类属性注入
- python - Python有条件地读取固定宽度的文本文件并创建DataFrame
- java - 当我从 IDE 运行代码时,它会下载 png,但会从 jar 文件中下载一个文件夹 - java
- python - 在正则表达式匹配和否定条件后获取文本
- javafx - Javafx 事件处理程序重叠
- google-apps-script - 如果在几页中满足条件,Apps 脚本复制和粘贴行
- python - 将带有列表的字典的数据框列转换为带有熊猫的单独列
- python - 如何为未来警告更新 pandas DataFrame.drop() - DataFrame.drop 的所有参数(参数“标签”除外)将仅是关键字