标签: alias

别名:.bash_rc、.bash_aliases 和 /usr/local/bin 之间的区别

在玩终端时,我注意到有很多方法可以创建永久别名。

我是 Linux 新手,据我所知,正在做:

  1. sudo ln -s /path/to/executable /usr/local/bin/desired_alias
  2. 添加desired_alias = '/path/to/executable'~/.bashrc
  3. 取消注释这些行~/.bashrc

    if [ -f ~/.bash_aliases ]; then
        . ~/.bash_aliases
    fi
    
    Run Code Online (Sandbox Code Playgroud)

    并把desired_alias = '/path/to/executable'~/.bash_aliases

都具有相同的效果。

第一种方法和第二种方法有什么区别?

command-line bash alias bashrc

10
推荐指数
1
解决办法
6502
查看次数

重启终端后别名不起作用

我在~/.bashrc然后运行中创建了几个新别名source ~/.bashrc并且它起作用了。但是重启终端后它不起作用。我回过头来发现了建议:创建~/.bash_aliases~/.bashrc附加字符串:

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi
Run Code Online (Sandbox Code Playgroud)

但问题仍然没有解决。有什么建议?

command-line alias

9
推荐指数
1
解决办法
1万
查看次数

从任何地方运行程序而无需更改目录

我希望创建一个运行程序 x 的别名,而不更改我所在的当前目录。我现在拥有的是:

alias x = "cd /home/path_to_x && ./x"
Run Code Online (Sandbox Code Playgroud)

这有效,但更改了我的目录。我想做的是:

alias x="./home/path_to_x/x
Run Code Online (Sandbox Code Playgroud)

但是后来我没有得到这样的文件或目录。有人知道解决方法吗?

command-line alias

9
推荐指数
2
解决办法
2万
查看次数

是否可以制作 sandwhich 别名?

我正在寻找一种方法来使以下别名适用于任何文件名。

alias dim='cd /home/jason/Documents; vim *the desired file*; cd'
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种方法可以更改此别名以使其可以输入任何文件名:

dim *the desired file*
Run Code Online (Sandbox Code Playgroud)

并且仍然得到相同的结果。基本上有没有办法将别名后键入的内容调用到别名本身中?就像是:

alias dim='cd /home/jason/Documents; vim <what is typed after alias>; cd'
Run Code Online (Sandbox Code Playgroud)

bash alias

9
推荐指数
1
解决办法
141
查看次数

如何让 [TAB] 使用别名的参数来自动完成,就像使用实际命令一样

我在我的.bash_aliases文件中创建了许多别名,它们非常有用,所以如果我想要一个包的所有信息,我会执行以下操作:

allinfo software-center
Run Code Online (Sandbox Code Playgroud)

这相当于:

apt-cache show software-center
Run Code Online (Sandbox Code Playgroud)

由于别名设置为:

alias allinfo='apt-cache show'
Run Code Online (Sandbox Code Playgroud)

但这有一个缺点,我目前无法TAB在使用allinfo而不是实际命令时自动完成。所以我想知道是否有办法克服这个缺点并使它的allinfo software-ce[TAB]工作与实际命令一起使用时的效果相同,而不仅仅是制作一个大的制表符空间?

我正在使用gnome-terminal.


操作系统信息:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 15.04
Release:    15.04
Codename:   vivid
Run Code Online (Sandbox Code Playgroud)

包装信息:

gnome-terminal:
  Installed: 3.14.2-0ubuntu3
  Candidate: 3.14.2-0ubuntu3
  Version table:
 *** 3.14.2-0ubuntu3 0
        500 http://gb.archive.ubuntu.com/ubuntu/ vivid/main amd64 Packages
        100 /var/lib/dpkg/status
Run Code Online (Sandbox Code Playgroud)

command-line bash alias

9
推荐指数
1
解决办法
1646
查看次数

如何“不”执行别名

我在.bashrc文件中设置了几个别名。大多数时候我都需要这些别名,但有时我需要在没有在该特定别名中设置选项的情况下运行这些命令。

如何执行别名命令?

bash alias bashrc

9
推荐指数
2
解决办法
1542
查看次数

如何为终端线路设置别名?

我想轻松地git-go为此终端行设置别名:

git commit -m "init "; git push; git status
Run Code Online (Sandbox Code Playgroud)

所以当我输入 git-go 时,应该输入这一行。

我怎样才能做到这一点?我看到的答案仅涵盖没有参数的命令的别名。但我想为任意终端线设置别名。

编辑: 我学会了使用函数而不是别名,因为

有关别名的定义和使用的规则有些令人困惑。

对于几乎所有用途,shell 函数都比别名更受欢迎。

所以除非必须,否则不要使用别名。 https://ss64.com/bash/alias.html

command-line bash alias

9
推荐指数
2
解决办法
976
查看次数

在 Alt-F2 对话框中使用别名

.bashrc文件中,可以为命令添加别名,例如

alias geditm = 'gedit --display=D1'
Run Code Online (Sandbox Code Playgroud)

现在我可以geditm在终端中运行并在显示 D1 中打开 gedit。我很好奇是否有办法为 Alt-F2 菜单中的运行命令定义别名,以便我可以Alt+ F2,键入geditm并获得相同的结果。

我有兴趣在一般情况下这样做,而不仅仅是为了 gedit。

gui shortcut-keys globalmenu alias

8
推荐指数
1
解决办法
3246
查看次数

在 Ubuntu 16.04 中创建别名来捕捉包的正确方法是什么?

TL; 博士

如何在 Ubuntu 16.04 中创建系统范围的别名来捕捉包?

更多细节

我想快速安装 Blender。我发现,有可以安装的Blender-tpaw包。不幸的是,安装它后,它可以在终端中使用 name blender-tpaw,而不是blender.

使用快照别名

所以首先我尝试运行命令sudo snap alias blender-tpaw blender,根据:https : //insights.ubuntu.com/2017/01/28/ubuntu-core-how-to-enable-aliases-for-your-snaps-commands / . 但这就是我所拥有的:

error: cannot perform the following tasks:
- Enable aliases for snap "blender-tpaw" (cannot enable alias "blender" for "blender-tpaw", no such alias)
Run Code Online (Sandbox Code Playgroud)

在 /usr/local/bin 中创建符号链接

然后我尝试建立符号链接,sudo ln -s /snap/bin/blender-tpaw /usr/local/bin/blender但在这种情况下发生了非常奇怪的事情:现在当我输入blender终端时,我得到了snap命令的输出......

将别名放在 /etc/profile.d 中

我也试过在 /etc/profile.d/alias.sh

alias blender='blender-tpaw'
Run Code Online (Sandbox Code Playgroud)

但这仅适用于我的 Ubuntu 16.04 服务器,但不适用于 Ubuntu 16.04 桌面。

我想达到什么目标? …

command-line bash alias snap

8
推荐指数
2
解决办法
2398
查看次数

一次创建多个 shell 别名

我想在别名中插入不同可能的拼写变体,例如cat命令。我可以使用一些符号来表示“或”还是应该在新行上?

alias at|cart|cst '/bin/cat'
Run Code Online (Sandbox Code Playgroud)

command-line alias

8
推荐指数
2
解决办法
1477
查看次数

标签 统计

alias ×10

command-line ×7

bash ×6

bashrc ×2

globalmenu ×1

gui ×1

shortcut-keys ×1

snap ×1