-1

我应该从脚本 1 调用脚本 2,脚本 2 在脚本 2 中调用脚本 3。在脚本 3 中,当我从脚本 1 调用脚本 2 时,会打印一些 STDOUT 语句。如果我调用脚本 2 使用脚本 1的n次来自脚本 3 的 STDOUT 语句不断打印n次。

如何在不对脚本 2 和脚本 3 进行任何更改的情况下解决此问题?我想在我的脚本 1 中进行更改以解决此问题。请帮助我。

在下面的代码中,我pri_000_table_truncate.ksh每次都调用脚本,并且该脚本再次调用另一个名为的脚本pri_000_functions.ksh,如果我从脚本 1 进行调用,则每次都会打印相同的消息,如下所示。

示例代码:

if [[ ${PRI_TRNC1_FLG} = 'R' ]]
then
    echo
    echo "Truncating Table ${PRI_NZTBL1} of set $i..."
    echo "Calling truncate generic shell script for the table ${PRI_NZTBL1}..."
    echo
    ${PRI_EXE}/pri_000_table_truncate.ksh ${PRI_NZ_BATCH_DB} ${PRI_NZTBL1}

    if [[ $? -ne 0 ]]
    then
        echo
        echo "Truncate Failed for Table ${PRI_NZTBL1}..."
        echo
        exit 1
    else
        echo
        echo "Successfully Truncated Table ${PRI_NZTBL1}..."
        echo
    fi
fi
4

1 回答 1

1

您可以输出到> /dev/null,例如

#!/bin/bash

# Do stuff
# ...

# Call another script
./script1.sh $arg1 $arg2 > /dev/null

如果您正在调用一个 unix 实用程序,有些可以-s选择--silent,或类似的东西。

正如我之前的评论者所说,很难阅读您的问题的解释(不会头晕),所以这些只是一些一般性的评论。

于 2013-03-18T20:23:50.190 回答