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

时间:2019-06-28 19:59:13

标签: linux 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"

1 个答案:

答案 0 :(得分:1)

您可以使用反引号获取命令的输出,并使用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