我在我的文件中定义了一个别名 .bashrc
alias l.='ls -d .* --color=auto'
Run Code Online (Sandbox Code Playgroud)
这是非常有用的 :) 但它不能通过以下方式工作ssh:
$ ssh localhost l.
bash: l.: command not found
Run Code Online (Sandbox Code Playgroud)
这是为什么?
我安装nodejs了apt-get上14.04
当我做 nodejs -v
v0.10.25
Run Code Online (Sandbox Code Playgroud)
当我这样做时 node -v
node : command not found.
Run Code Online (Sandbox Code Playgroud)
所以我想别名nodejstonode
我插入了一行 ~/.bashrc
alias node=nodejs
Run Code Online (Sandbox Code Playgroud)
现在,我可以访问nodejs同node一个终端。
但是在我的项目中,我使用gruntwhichnodemon通过gruntfile.js. 现在nodemon尝试运行node而不是nodejs
所以我又遇到了同样的问题 node : command not found。
因此别名不适用于非交互式非登录 shell。
我应该在哪里为此特定目的制作别名并解决我的问题?
我同时使用 Windows 和 Ubuntu,并在它们两个上执行控制台操作。
在 Windows 上,我可以做一个
C:\Users\Thomas>cd..\..
C:\>
Run Code Online (Sandbox Code Playgroud)
但是,在 Linux 上这不起作用,无论是反斜杠还是正斜杠。
21:17:10 $ cd../..
bash: cd../..: No such file or directory
Run Code Online (Sandbox Code Playgroud)
由于我经常犯这个错误,我试图.bash_aliases为这种情况定义一个别名:
alias cd../..='cd ../..'
alias cd..\..='cd ../..'
Run Code Online (Sandbox Code Playgroud)
当我开始一个新的 bash 时,我得到
21:16:26 $ bash
bash: alias: `cd../..': invalid alias name
Run Code Online (Sandbox Code Playgroud)
我将如何设置了别名cd..\..和cd../..正确?
在cd..\..似乎与转义字符的问题:
21:39:43 $ cd..\..
bash: cd....: command not found
Run Code Online (Sandbox Code Playgroud)
它不起作用,即使我为cd.....
这个问题不是重复的。请在标记之前阅读它。
是否可以为 Linux 服务器上的用户分配昵称或别名,并使用昵称通过 SSH 连接到服务器?我沿着被添加到别名为各种命令行思考的东西.bashrc或.bash_aliases文件,如:
alias grep='grep --color=auto'
Run Code Online (Sandbox Code Playgroud)
例如,如果需要(业务规则)在服务器上设置用户的全名,例如,john_smith不仅仅是他们的名字 ( john) 但我们想要昵称john_smith fruitloops并且我们希望 John 能够:
ssh john_smith@ip_address
Run Code Online (Sandbox Code Playgroud)
也:
ssh fruitloops@ip_address
Run Code Online (Sandbox Code Playgroud)
如果可能,用户与其昵称之间的映射将在哪里设置?用户是否fruitloops也需要存在于服务器上?
这个问题是关于为用户设置别名,而不是主机。
我看到一篇关于修复你的别名的帖子.bashrc。
他说在你把你的别名放进去后.bashrc,你需要使用:
. ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
我不太明白第一个点(' . ') 在这里做什么。它的功能是什么,叫什么名字?
在终端中,我可以使用!!它将引用我之前的命令。
是否可以在别名中使用它?我已经试过了,但实际情况是双感叹号是按字面解释的。
我想要的是:
如果有使用脚本的解决方案也是可以接受的。
我正在尝试访问剪贴板,但是当我source ~/.bashrc 在终端中输入时出现此错误:
bash: /home/taran/.bashrc: line 2: syntax error near unexpected token ('
bash: /home/taran/.bashrc: line 2:alias pbpaste='xclip -selection
clipboard -o'# ~/.bashrc: executed by bash(1) for non-login shells
Run Code Online (Sandbox Code Playgroud)
我尝试在Gary Woodfine's answer to Command Line Clipboard Access 中做教程。
的输出cat ~/.bashrc是:
alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
case $- …Run Code Online (Sandbox Code Playgroud) 在玩终端时,我注意到有很多方法可以创建永久别名。
我是 Linux 新手,据我所知,正在做:
sudo ln -s /path/to/executable /usr/local/bin/desired_aliasdesired_alias = '/path/to/executable'到~/.bashrc取消注释这些行~/.bashrc:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Run Code Online (Sandbox Code Playgroud)
并把desired_alias = '/path/to/executable'成~/.bash_aliases
都具有相同的效果。
第一种方法和第二种方法有什么区别?
我想在终端中创建永久别名,我已经阅读了有关如何操作的答案:https : //askubuntu.com/a/5278/364819
但是我遇到了一个小问题,我找到了代码:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Run Code Online (Sandbox Code Playgroud)
如答案中所述。但是我实际上找不到可以在.bash_aliases其中设置这些永久别名的文件。
所以我的问题是,这个文件的位置在哪里,如果我需要创建它,我是否只在我的主用户目录目录中创建它?
我在 Ubuntu 14.10 上运行。
我正在使用zshwhichgs作为git status. 但在 Ubuntu 上,gs是 ghostscript 的别名。我尝试卸载 ghostscript,但后来我得到了这个:
The program 'gs' is currently not installed. You can install it by typing:
sudo apt install ghostscript
zsh: command not found: gs
Run Code Online (Sandbox Code Playgroud)
我也试过:
unalias gs
Run Code Online (Sandbox Code Playgroud)
正如这里所解释的:
但这给了我unalias: no such hash table element: gs。
我该如何解决这个问题?