想从另一个脚本调用脚本时摆脱std

时间:2013-03-18 20:16:38

标签: linux bash shell unix scripting

我应该从脚本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

1 个答案:

答案 0 :(得分:1)

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

#!/bin/bash

# Do stuff
# ...

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

如果您正在调用unix实用程序,则某些实用程序具有-s的{​​{1}}选项或类似内容。

正如我之前的评论者所说,很难看到你的问题的解释(没有头晕),所以这些只是一些一般性的评论。