gpt4 book ai didi

linux - 将 rlogin 命令转换为别名

转载 作者:IT王子 更新时间:2023-10-29 00:49:54 27 4
gpt4 key购买 nike

我在多台机器上工作,需要远程登录。我想要一个可以使我的 rlogin 命令更简单的别名。

所以,我想将以下命令转换为别名:

rlogin `echo "machine $num" | tr -d ' '`

我试着在我的 .cshrc 文件中写这个:

alias rl rlogin `echo machine$1| tr -d ' '`

当我执行 rl 13

它说:

usage: rlogin [ -8EL] [-e char] [ -l username ] host

我在这里错过了什么?

最佳答案

通过运行 alias rl,您可以很容易地看到别名未按预期定义:

% alias rl rlogin `echo machine$1| tr -d ' '`
% alias rl
rlogin machine

定义别名的方式有两个问题。

首先,像这样定义别名时:

alias rl rlogin `...`

... 命令在别名被定义 时计算,而您需要将计算推迟到使用它时。正确的做法是将所有内容都用单引号括起来,比如

'`...`'

(此外,我们需要将内部单引号替换为双引号,以免与外部单引号冲突)。

其次,您需要使用 \!* 而不是 $1

所以你得到:

% alias rl rlogin '`echo machine\!* | tr -d " "`'
% alias rl
rlogin `echo machine!* | tr -d " "`

关于linux - 将 rlogin 命令转换为别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20675710/

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