在csh中递增字符串中的变量

Incrementing a variable within a string in csh

我正在用 csh 编写脚本(它需要在 csh 中) 我真的一直在为一个看似微不足道的问题而苦苦挣扎。 我想用包含数字变量的字符串设置一个环境变量。但是我想在不影响价值的情况下增加存储的价值。这可能吗。我花了很长时间研究 csh 教程,但不知所措。 以下是我尝试过的最后一次迭代。似乎没有任何效果。

set LOG_HIST = 8
setenv LOG_FILE "/foo/log/foo."${LOG_FILE}".log"
setenv NEXT_LOG_FILE "/foo/log/foo."(${LOG_FILE} + 1)".log"

您可以使用反引号获取命令的输出并使用 expr 计算算术表达式:

% set LOG_HIST = 8
% setenv LOG_FILE "/foo/log/foo."${LOG_HIST}".log"
% setenv NEXT_LOG_FILE "/foo/log/foo."`expr ${LOG_HIST} + 1`.log
% echo $NEXT_LOG_FILE
/foo/log/foo.9.log