如何将 bash 脚本转换为 tcsh

How to convert a bash script to tcsh

function history_to_syslog {
    declare command
    remoteaddr="`who am i`"
    pwd="`pwd`"
    command=$(fc -ln -0)
    if [ "$command" != "$old_command" ]; then
        logger -p local2.notice -t bash -i ? "$USER : $remoteaddr" \
        "Command : $command  Directory : $pwd"
    fi
    old_command=$command
}
trap history_to_syslog DEBUG

如何将 bash 脚本更改为 tcsh?

要将脚本从 bash 更改为 csh,您首先需要了解不同 shell 环境之间的差异。 例如,在 http://hyperpolyglot.org 上学习本指南。 您可能会了解到,绝大多数是等效的。有些语法可以直接相互翻译。但是,某些语法对其 shell 过于具体,无法直接翻译。

您的下一步是确定代码的哪些部分可以直接翻译,哪些部分不能进行一对一翻译 - 因此需要另一个实现 csh。