大家好,我确实在
.bashrc
中创建了一个简单的函数,以 ssh
进入特定机器并进入特定的 tmux
会话
//.bashrc
# Function to ssh to a machine with tmux
connect() {
local host=$1
local session=${2:-main}
# Check if tmux session exists
if ssh -q "$host" "tmux has-session -t $session 2>/dev/null"; then
ssh -t "$host" "tmux attach -t $session"
else
# Create tmux session if it doesn't exist
ssh -t "$host" "tmux new-session -s $session"
fi
}
一切都运行良好,但之前当我输入
ssh
并按下 TAB
时,我在 config
中定义的现有机器获得了自动完成功能,并且正在寻找一种方法将该自动完成功能通过管道传输到新的 connect
别名。
就我而言,这成功了
complete -F _ssh connect
例如另一个命令的管道自动完成
cd
将像这样
complete -F _cd somecommand