gpt4 book ai didi

bash - #!bin/sh 在centOS 错误命令启动中调用程序

转载 作者:行者123 更新时间:2023-12-04 19:43:46 24 4
gpt4 key购买 nike

在 Debian 中运行良好:

#!/bin/sh

time /usr/libexec/postfix/smtp $@

在 CentOS 的邮件日志中出现错误:
warning: process /usr/libexec/postfix/smtp_time pid 28456 exit status 1
warning: /usr/libexec/postfix/smtp_time: bad command startup -- throttling

调试错误 exec 2>>/tmp/smtp.log; set -x; time /usr/libexec/postfix/smtp "$@"
+ time /usr/libexec/postfix/smtp -n smtptime -t unix -u -c
which: no /usr/libexec/postfix/smtp in ((null))
ERROR: /usr/libexec/postfix/smtp cannot be found.

但是文件存在并且具有 r+x 权限。

最佳答案

来自您的 set -x日志,看起来像是 time 的实现由您的/bin/sh 使用试图找到要运行的文件 which ,而不查看该文件是否已被指定为完全限定的 PATH。因此,考虑:

#!/bin/sh
export PATH=/usr/libexec/postfix:/bin:/usr/bin
time smtp "$@"

关于bash - #!bin/sh 在centOS 错误命令启动中调用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42723854/

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