在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
我正在用 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