我安装了MySQL(MAMP,Mac OS X),但是每次从shell访问时都需要通过完整路径调用它。我创建了一个别名:alias mysql='/Applications/MAMP/Library/Bin/mysql
,但这只会持续我的终端/ Bash会话。
建立可跨用户使用的永久别名的有效方法是什么? (我需要能够从PHP执行命令)。我应该在Bash启动脚本中设置别名(如何完成?),还是编辑sudoers文件更好? (可以使用它的一个例子......)
谢谢 -
编辑 - 基于答案:
我刚尝试创建~/.bashrc
并写了以下内容:
alias mysql ='/ Applications / MAMP / Library / bin / mysql'
但这似乎没有任何影响。这个文件有特殊的语法吗?
答案 0 :(得分:47)
将命令添加到~/.bashrc
文件中。
要将其提供给所有用户,请将其添加到/etc/profile
。
答案 1 :(得分:6)
.bash_profile
或.profile
.bashrc
.zshrc
传统上,要添加永久别名,您需要打开点文件并手动编写别名,如:
alias hello="echo helloworld"
请记住获取点文件以使其生效。要在ubuntu的bash上获取点文件,请键入source .bashrc
使别名可供所有用户使用,写入/etc/profile
而不是点文件。请记住键入source /etc/profile
以使新别名生效。
如果您只想要一个临时别名,则无需写入点文件。只需在终端上键入相同的命令(alias hello="echo helloworld
)即可。
请注意,关闭shell后,通过alias
命令创建的临时别名将消失。
如果您正在寻找单个命令来生成别名而无需打开文本编辑器,请继续阅读。
如果你在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.
使用aka,无需使用文本编辑器写入点文件。而且也不需要获取点文件。
答案 2 :(得分:4)
你这是错误的做法。
将/Applications/MAMP/Library/bin/
添加到您的路径中,或者创建一个脚本来调用MySQL并将其放在已经在您路径中的bin
目录中。
答案 3 :(得分:0)
在Mac上,除非您输入
,否则.bashrc
文件无法获取
source ~/.bashrc
或/etc/profile
中的 /etc/bashrc
。
我想我会提到这一点。