gpt4 book ai didi

linux - 如何从函数调用值到shell脚本

转载 作者:太空宇宙 更新时间:2023-11-04 05:47:47 25 4
gpt4 key购买 nike

根据我的要求,我想在该函数之外使用下面的时间变量 exectime 并希望从 shell 脚本中调用它。任何人都可以帮助如何从 shell 脚本调用它

time_check() { . /u01/scripts/${1}.env export create_env_log=${logs}/create_env_log_${dts}.log echo 'STime:' date +%s > ${create_env_log} "$@" echo 'ETime:' date +%s >> ${create_env_log}

export st_time= grep -i STime ${create_env_log} |cut -d':' -f2
export en_time= grep -i ETime ${create_env_log} |cut -d':' -f2
export exectime=$((en_time-st_time))
exectime=$((Totexectime+exectime))
}

最佳答案

要在 shell 中将函数作为命令调用,您需要获取包含该函数的文件(类似于在该函数中获取 ./u01/scripts/${1}.env 的方式)。

bash 示例:

function time_check() {
. /u01/scripts/${1}.env
export create_env_log=${logs}/create_env_log_${dts}.log
echo 'STime:' date +%s > ${create_env_log} "$@"
echo 'ETime:' date +%s >> ${create_env_log}

export st_time= grep -i STime ${create_env_log} |cut -d':' -f2
export en_time= grep -i ETime ${create_env_log} |cut -d':' -f2
export exectime=$((en_time-st_time))
exectime=$((Totexectime+exectime))
}

您的 .bashrc 文件将包含以下行,因此每次启动 shell 时都会获取它:

. /path/to/function_file

如果需要,此文件可以包含多个函数。因此,您不需要创建多个文件来获取多个函数。

关于linux - 如何从函数调用值到shell脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51807283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com