AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[alias](unix)

Martin Hope
Richard Neumann
Asked: 2023-08-16 02:05:50 +0800 CST

nushell - 如何列出别名?

  • 5

nushell 的官方文档声称可以通过以下方式列出可用的别名:

$nu.scope.aliases

然而这在我的 Arch Linux 机器上不起作用:

/home/rne〉pacman -Q nushell                                                                                                                                               2023-08-15 20:04:36
nushell 0.83.1-1
/home/rne〉$nu.scope.aliases                                                                                                                                               2023-08-15 20:04:39
Error: nu::shell::column_not_found

  × Cannot find column
   ╭─[entry #13:1:1]
 1 │ $nu.scope.aliases
   · ─┬─ ──┬──
   ·  │    ╰── cannot find column 'scope'
   ·  ╰── value originates here
   ╰────

/home/rne〉echo $nu.scope.aliases                                                                                                                                          2023-08-15 20:04:42
Error: nu::shell::column_not_found

  × Cannot find column
   ╭─[entry #14:1:1]
 1 │ echo $nu.scope.aliases
   ·      ─┬─ ──┬──
   ·       │    ╰── cannot find column 'scope'
   ·       ╰── value originates here
   ╰────

/home/rne〉                                                                                                                                                                2023-08-15 20:04:44

我究竟做错了什么?

alias
  • 1 个回答
  • 23 Views
Martin Hope
Firelord
Asked: 2023-04-24 20:44:30 +0800 CST

当别名作为参数传递时防止别名扩展

  • 7

我有两个别名:

alias rm='python my/rm/script.py '
alias docker='sudo docker '

问题是在运行语句时$ docker rm ARGS关键字rm被扩展为别名并且 docker 抱怨说'python' is not a docker command.

我寻找了几个解决方案。一种解决方案是使用command关键字。另一个是用于shopt切换别名扩展。我无法很好地利用它们。

这两个都不适合我:

alias docker='shopt -u expand_aliases; sudo docker '
alias docker='command sudo docker '

别名作品:

alias docker='unalias rm; sudo docker '

unalias 的问题是,一段时间后我会忘记我的 rm 别名在运行的 shell 环境中不再存在,无论我的 docker 命令在哪里执行。因此,我rm在文件上使用时会立即将其删除,这与我的 python 脚本形成对比,后者充当安全网并将待删除的文件移动到垃圾箱中。我想避免陷入这种错误地最终使用 GNU rm 命令而不是我的 rm 别名的情况,这就是我不想使用 unalias 的原因。

另一个解决方案是放弃 docker 别名。缺点是我必须sudo为我想执行的每个有用的 docker 命令编写关键字。这是我避免使用 docker 别名的苦差事。

另一种解决方案是像这样转义 rm 关键字:

docker \rm ARGS

这行得通。但我希望这里有一个即发即弃的解决方案,这样我就可以自然地执行我的 docker 命令,而不必担心其他任何事情。

鉴于上述限制,我如何为 rm 和 docker 使用别名,但防止rm关键字在 docker 命令中被扩展为别名?

alias
  • 1 个回答
  • 101 Views
Martin Hope
Arthur Attout
Asked: 2023-03-26 06:00:42 +0800 CST

tilde_expand: 没有这样的用户 .ssh

  • 5

我有一个最奇怪的错误,其中单个 IP 地址ssh会立即返回错误

arthur@arthur-laptop:~$ ssh 192.168.1.85
tilde_expand: No such user .ssh

我觉得这是自动完成或类似问题。而且我不知道去哪里解决这个问题。

一些信息点:

  • 以 root 身份运行命令时不会显示错误
  • 使用任何其他 IP 地址时不会出现该错误(仅对 192.168.1.85 失败)
  • which ssh回报/usr/bin/ssh
  • .bash_aliases在, nor in.bash_profile或 in中没有奇怪的别名bash_logout

我一无所知。这显然是在某处设置的一个奇怪的别名,但我不知道去哪里找。任何线索?

alias
  • 1 个回答
  • 23 Views
Martin Hope
raijin
Asked: 2022-11-25 12:39:08 +0800 CST

重命名终端标题 && 使用别名运行应用程序

  • 6

尝试创建重命名终端标题并运行应用程序的命令,我在 .bash_aliases 文件中添加命令。我正在使用的重命名命令是:PS1='\[\e]0;test\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' 如果我单独使用它并在运行应用程序后它按预期工作。但是如果我使用这样的命令:

alias rpcs3="PS1='\[\e]0;test\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' && ./rpcs3/rpcs3-v0.0.25-14385-b639f3c8_linux64.AppImage"

使用后一个命令,终端标题仅在应用程序关闭后更改,如下例所示:

关闭应用程序之前

前


关闭应用程序后

后

我应该怎么办?

alias
  • 2 个回答
  • 36 Views
Martin Hope
Daniel Kaplan
Asked: 2022-09-22 17:15:28 +0800 CST

运行命令时如何/应该默认标志?

  • 1

对于上下文,我使用的是 zsh。每次我使用locate时,我都想传递-i和-A标志。

通常,如果我能摆脱它,我会创建一个alias与现有命令同名的命令来执行此操作。但是根据这个问题,别名不能接受参数,所以我必须改用函数。通常我停在那里,因为与命令同名的函数的想法对我来说是错误的,尽管我不能说为什么。

当我有这个想法时,我正要最终创建这样一个函数:这对我来说是一个常见的模式,想要为命令默认标志;有没有更简单的方法?也许 zsh 为这个问题提供了更好的解决方案?

这让我想到了另一个想法:覆盖现有命令是一种反模式吗?我一直这样做是因为它允许我跳过脑海中的关联:例如,“为什么没有ll页面man?哦,是的:ll真的意味着ls -la。我需要做man ls,而不是man ll。等等。”

总结一下:

  1. 用别名/函数覆盖现有命令是否可以/惯用?
  2. zsh 或其他工具是否为特定命令的默认标志提供了更直接的方法?
zsh alias
  • 2 个回答
  • 44 Views
Martin Hope
Lord of the Goo
Asked: 2022-07-05 01:04:19 +0800 CST

鱼壳:“上下文”之间不共享通用变量和别名

  • 1

我主要使用来自 Rider IDE 和 iTerm2 的鱼壳。

我注意到,每一项意味着为未来会话保存内容的任务都不会在上述两个上下文之间透明地运行。更准确地说,如果我定义了一个通用导出变量或别名,它们将从定义它们的“上下文”中保留下来,而另一个则不存在。

例如,这是alias从 Rider IDE(终端视图)调用的输出:

❯ alias
alias br1 'brightness 1'
alias cat bat
alias cdg 'cd $(git rev-parse --show-cdup)./'
alias l ls
alias ll 'ls -l'
alias ls lsd
alias lt 'lsd -l --tree'

这是alias从 iTerm2 调用的输出:

❯ alias
alias br1 'brightness 1'
alias cat bat
alias ll 'ls -l'
alias ls lsd

与环境变量相同的行为。

environment-variables alias
  • 1 个回答
  • 37 Views
Martin Hope
Heathcliff Huxtable
Asked: 2022-05-23 19:52:29 +0800 CST

带有循环、sudo、管道、标志、单引号和双引号的 Bash 别名

  • 0

我想为以下命令创建一个 bash 别名,该命令在命令行上输入,但我所有创建别名的尝试都失败了。我唯一的诊断是所有那些嵌套的引号和循环都很可怕,我不知道如何处理它们。

sudo ss -x src "*/tmp/.X11-unix/*" | grep -Eo "[0-9]+\s*$" | while read port
do sudo ss -p -x | grep -w $port | grep -v X11-unix 
done | grep -Eo '".+"' | sort | uniq -c | sort -rn

可以给这个命令起别名吗?

bash alias
  • 1 个回答
  • 69 Views
Martin Hope
SL5net
Asked: 2022-05-17 00:19:54 +0800 CST

新的鱼壳别名被忽略

  • -1

正如https://stackoverflow.com/a/2763014/2891692中所解释的, 我在我的配置文件中创建了好几天的别名~/.config/fish/config.fish ,它可以工作。

我今天添加的每个新别名都不起作用。

不工作别名的示例:

alias bla  = "cd ~/Desktop" 
alias bla2  = "ls -a" 

在此处输入图像描述

但是我今天之前添加的别名。例如: alias gitStatus="git status"

在此处输入图像描述

满~/.config/fish/config.fish这里:

function fish_greeting
     echo 'try nr 5'
end
alias bla2  = "ls -a" 
alias gitStatus="git status"

每次尝试我都会更新欢迎信息。这行得通

我该如何解决这个问题?

错误

如果使用alias bla = "cd ~/Desktop"

bla
Command 'bla' not found, did you mean:
  command 'bls' from deb bacula-sd (9.4.2-2ubuntu5)
...

如果别名的类型部分首先是红色。但这不是错误(首先让我感到困惑)

操作系统:

Kubuntu 20.04
KDE Plasma Version: 5.18.8
KDE Frameworks Version: 5.68.0
Qt Version: 5.12.8
Kernel Version: 5.13.0-41-generic
OS Type: 64-bit
alias fish
  • 1 个回答
  • 153 Views
Martin Hope
Avles Edivad
Asked: 2022-04-26 03:53:01 +0800 CST

替换终端中的文本

  • 0

我正在使用安全副本将一些数据从服务器复制到文件夹(比方说:)scp [email protected]:/project1/data/ data1/。

我的问题是是否可以将服务器的地址(在示例中[email protected]:/project1/)保存为较短的形式,如别名,并使用它而不是全名。例如,我想将地址保存为“prj1”并使用命令scp prj1/data data1/来做同样的事情。

不幸的是,别名并ls -s不起作用。

可能吗?

谢谢

terminal alias
  • 1 个回答
  • 57 Views
Martin Hope
Rocky
Asked: 2022-02-20 12:31:06 +0800 CST

将 rm 别名更改为 mv

  • 0

参考:如何将 `rm` 更改为类似 `mv ~/ .trash` 的命令

我想在 UNIX 中实现回收站实用程序,因为 UNIX 没有。
在.bashrc文件中我更改别名rm='move.sh"

根据上面的参考指南,我在 move.sh 脚本中编写了函数

脚本:move.sh

 #!/bin/sh
    
    TRASH=<trash directory path>
    
    move()
    {
      mv "$@" $TRASH;  
    }
    move

当我跑步时,我遇到了错误。有人可以帮助我做错了什么吗?

mv:参数不足(1)用法:mv [-f] [-i] f1 f2
mv [-f] [-i] f1 ... fn d1
mv [-f] [-i] d1 d2

alias rm
  • 1 个回答
  • 242 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve