创建永久可执行别名

Yar*_*rin 20 linux macos bash shell alias

我安装了MySQL(MAMP,Mac OS X),但每次从shell访问时都需要通过完整路径调用它.我创建了一个别名:alias mysql='/Applications/MAMP/Library/Bin/mysql,但这只会持续我的终端/ Bash会话.

建立可在用户之间工作的永久别名的有效方法是什么?(我需要能够从PHP执行命令).我应该在Bash启动脚本中设置别名(如何完成?),还是编辑sudoers文件更好?(也可以使用它的一个例子..)

谢谢 -

编辑 - 根据答案:

我只是尝试创建一个~/.bashrc并写了以下内容:

别名mysql ='/ Applications/MAMP/Library/bin/mysql'

但这似乎没有任何影响.这个文件有特殊的语法吗?

Pau*_*ce. 49

将命令添加到您的~/.bashrc文件中.

要使其可供所有用户使用,请将其添加到/etc/profile.

  • @Yarin:在您使用`开始新会话或将文件导入当前会话之前,对文件的更改不会生效.〜/ .bashrc`.此外,如果你想让这个对多个用户有效,你要么必须把它放在每个用户的`.bashrc`或普通的`/ etc/profile`中. (4认同)

ytb*_*yan 8

  • 不同的shell使用不同的点文件来存储别名.
  • 对于mac,bash shell使用 .bash_profile.profile
  • 对于ubuntu,bash shell使用.bashrc
  • 如果您使用的是zsh shell和ohmyzsh插件,那么点文件就是 .zshrc

传统上,要添加永久别名,您需要打开点文件并手动编写别名,如:

alias hello="echo helloworld"
Run Code Online (Sandbox Code Playgroud)

并记得使点文件生效以使其生效.要在ubuntu的bash上获取点文件,请键入source .bashrc要使别名对所有用户可用,请写入/etc/profile而不是点文件.请记住键入source /etc/profile新别名才能生效.

如果您只想要一个临时别名,则无需写入点文件.只需alias hello="echo helloworld在终端上键入相同的命令()即可.

请注意,alias一旦shell关闭,通过该命令创建的临时别名将消失.


如果您正在寻找单个命令来生成别名而不打开文本编辑器,请继续阅读.

如果你在ubuntu上安装了ruby,你可以使用aka命令创建一个永久别名.

gem install aka2

例如:

aka generate hello="echo helloworld" #will generate a alias hello="echo helloworld" 
aka destroy hello #will destroy the alias hello
aka edit hello #will prompt you to edit the alias.
Run Code Online (Sandbox Code Playgroud)

使用aka,无需使用文本编辑器写入点文件.而且也不需要获取点文件.


mea*_*gar 6

你这样做是错误的。

添加/Applications/MAMP/Library/bin/到您的路径,或创建一个脚本来调用 MySQL 并将其放置bin在您的路径中已经存在的目录中。