Questions tagged «alias»

别名实际上只不过是键盘快捷键,缩写,避免键入长命令序列的一种手段。这样可以节省大量在命令行中的键入,并且避免了必须记住命令和选项的复杂组合。

14
在Bash中,何时使用别名,何时编写脚本以及何时编写函数?
我花了将近10年的Linux使用时间问这个问题。这都是反复试验和随机的深夜互联网冲浪。 但是人们不需要10年的时间。如果我刚开始使用Linux,那么我想知道:什么时候使用别名,什么时候编写脚本,什么时候编写函数? 在涉及别名的地方,我将别名用于不带参数的非常简单的操作。 alias houston='cd /home/username/.scripts/' 这似乎很明显。但是有些人这样做: alias command="bash bashscriptname" (并将其添加到.bashrc文件中) 有充分的理由这样做吗?我真的很努力,但是我真的无法想到在任何情况下都需要这样做。因此,如果存在极端情况会有所作为,请在下面回答。 因为那是我要在PATH中放入内容的地方chmod +x,这是经过多年Linux反复试验之后出现的另一件事。 这将我带入下一个主题。举例来说,我添加了一个隐藏的文件夹(.scripts/只需添加一行到我的)主目录到我的PATH .bashrc(PATH=$PATH:/home/username/.scripts/),所以任何可执行文件中有自动的自动填充。 如果需要的话。 不过,我真的不需要那个吗?我只会将其用于非Shell语言,例如Python。 如果是外壳,我可以在相同的内部编写一个函数.bashrc: funcname () { somecommand -someARGS "$@" } 正如我所说,我通过反复试验发现了很多这样的问题。我只有在计算机死机时才真正看到功能的美,而当我周围的人不使用计算机时,我就不得不使用它们。 最终,我没有将整个脚本目录从一个计算机移动到另一个计算机,而是最终只用我自己的其他人替换了.bashrc,因为它们甚至从未进行任何修改。 但是我想念什么吗? 那么,您将如何告诉Linux新手何时使用别名,何时编写脚本以及何时编写函数? 如果不是很明显,我假设回答这个问题的人将使用所有三个选项。如果您仅使用别名,或仅使用脚本,或仅使用函数,或者仅使用别名和脚本,或者别名和函数或脚本和函数,则此问题并不是针对您的。


5
为什么我的Bash脚本无法识别别名?
在我的~/.bashrc文件中包含两个定义: commandA,这是较长路径的别名 commandB,它是Bash脚本的别名 我想使用这两个命令处理相同的文件,因此我编写了以下Bash脚本: #!/bin/bash for file in "$@" do commandA $file commandB $file done 即使注销了会话并重新登录后,command not found运行该脚本时,Bash也会提示我两个命令都出错。 我究竟做错了什么?
216 bash  alias 

6
运行被别名遮盖的命令
假设我在bash中具有以下别名alias ls='ls --color=auto'--我想ls不带选项地调用普通对象。唯一的方法就是取消别名,先执行命令,然后再次别名吗?还是有一些漂亮的技巧或解决方法?
163 bash  shell  alias 

30
bash shell中的快速目录导航
我想经常在完全不相关的路径(例如/Project/Warnest/docs/和)之间切换~/Dropbox/Projects/ds/test/。 但是我不想一直打cd /[full-path]/。是否有任何快捷命令可以切换到以前使用的目录? 我能想到的一种解决方案是为我bash .profile的常用目录添加环境变量,并cd使用这些变量向它们添加环境变量。 但是还有其他解决方案吗?


7
如何在别名命令上使用“哪个”?
像大多数用户一样,我设置了一堆别名来为常用程序提供默认的标志集。例如, alias vim='vim -X' alias grep='grep -E' alias ls='ls -G' 问题是,如果我想使用which上看到我的vim/ grep/ ls/等从,别名的方式来获得: $ which vim vim: aliased to vim -X 这是有用的输出,但是在这种情况下不是我想要的;我知道vim是别名,vim -X但我想知道它 vim的来源。 除了临时取消定义别名(以便我可以which在上面使用)之外,是否有一种简单的方法来which“解开”别名并在其上运行? 编辑:似乎which是一个shell内置的,在不同的shell上具有不同的行为。在Bash中,SiegeX对--skip-alias旗帜的建议起作用了。但是,我在Zsh上。那里是否存在类似的东西?
76 shell  zsh  alias  which 

4
watch命令别名扩展
如果运行watch包含别名的命令,它将不会扩展别名。我已经尝试过使用单引号和双引号,实际上给了以下别名: # alias ll alias ll='ls -l --color=tty' 以下命令将失败 # watch ll sh: ll: command not found 在这种情况下,命令行扩展不应该工作吗?
67 bash  alias 


5
如何获得命令别名的bash补全?
我希望在命令行别名上使用制表符补全,例如,说我定义了以下别名: alias apt-inst='sudo aptitude install' 当我按下Tab键时,是否有办法获得aptitude提供的补全?例如,当我编写“ sudo aptitude install gnumer”并单击选项卡时,aptitude将其完成为gnumeric,或者如果存在不确定性,则列出以gnumer开头的所有可用软件包。如果使用别名进行操作,则不会执行任何操作-无法完成。


5
我怎么能别名!!
我正在尝试sudo !!在Bash中设置别名。我尝试过alias sbb='sudo !!',但是它将其解释为文字 !!并打印 sudo: !!: command not found 如果我使用双引号,它将代替字符串本身中的双引号,因此不起作用。 有什么办法可以使这项工作吗?还是其他别名?`

11
仅显示ls别名中的隐藏文件(点文件)
我正在使用命令 ls -a | grep '^\.' 仅显示隐藏文件。我加了线 alias hidden='ls -a | grep '^\.'' # show only hidden files 到.bash_aliases文件 但这不起作用。这可能是'性格问题。 您能帮我写正确的别名吗?
42 ls  alias  wildcards 

4
如何找到流氓别名声明?
我正在尝试查找alias已声明特定位置的位置。我搜索了我知道的所有常见地方以查找别名: 〜/ .bashrc 〜/ .bash_profile / etc / bashrc / etc / profile 没有运气。 我知道这是alias因为当我这样做时which COMMAND,我得到: alias COMMAND='/path/to/command' /path/to/command 有没有一种方法可以找到声明alias唯一知道alias名称的文件?
37 bash  alias  bashrc 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.