Bash 函数中的意外行为

Bash 函数中的意外行为

我很困惑为什么 bash 脚本不起作用。我将其概括为以下内容:

#! /bin/bash

function syncuser()
{
        cat ~nagios/.ssh/authorized_keys
        cat /home/$1/.ssh/authorized_keys
        cat ~$1/.ssh/authorized_keys
}
    
syncuser nagios

运行时,我本以为上面的每个条目都会输出 nagios 用户的授权密钥 - 但是,虽然前两个条目有效,但底部的条目失败了

cat:'~nagios/.ssh/authorized_keys': 没有该文件或目录

看来我对“~user”相关内容的理解代表用户主目录已关闭。 有人能告知为什么最后一项没有产生预期的输出吗?

相关内容