web-dev-qa-db-ja.com

永続的な実行可能エイリアスの作成

MySQLをインストールしましたが(MAMP、Mac OS X)、シェルからアクセスするたびにフルパスで呼び出す必要があります。エイリアスを作成しました:alias mysql='/Applications/MAMP/Library/Bin/mysql、しかしこれは私のターミナル/ Bashセッションの間だけ持続します。

ユーザー間で機能する永続的なエイリアスを確立するための効果的な方法は何ですか? (PHPからコマンドを実行できる必要があります)。 Bash起動スクリプトでエイリアスを設定する必要がありますか(方法は?)、またはsudoersファイルを編集する方が良いですか? (その例も使用できます。)

ありがとう-

編集-回答に基づいて:

~/.bashrcと次のように書きました:

エイリアスmysql = '/ Applications/MAMP/Library/bin/mysql'

しかし、これは効果がないようです。このファイルに特別な構文はありますか?

20
Yarin

コマンドを~/.bashrcファイルに追加します。

すべてのユーザーが利用できるようにするには、/etc/profileに追加します。

47
  • 別のシェルは別のドットファイルを使用してエイリアスを格納します。
  • Macの場合、bashシェルは.bash_profileまたは.profileを使用します
  • Ubuntuの場合、bashシェルは.bashrcを使用します
  • Zsh Shellとohmyzshプラグインを使用している場合、ドットファイルは.zshrcです。

従来、恒久的なエイリアスを追加するには、ドットファイルを開き、次のように手動でエイリアスを書き込む必要があります。

alias hello="echo helloworld"

それを有効にするには、ドットファイルをソースすることを忘れないでください。 ubuntuのbashでドットファイルをソースするには、「source .bashrc」と入力します。エイリアスをすべてのユーザーが利用できるようにするには、ドットファイルの代わりに/etc/profileに書き込みます。新しいエイリアスを有効にするには、必ずsource /etc/profileを入力してください。

単に一時的なエイリアスが必要な場合は、ドットファイルに書き込む必要はありません。ターミナルで同じコマンド(alias hello="echo helloworld)を入力するだけです。

aliasコマンドで作成された一時的なエイリアスは、シェルを閉じると表示されなくなります。


テキストエディタを開かずにエイリアスを生成する単一のコマンドを探している場合は、このまま読み進めてください。

RubyがUbuntuにインストールされている場合、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.

別名では、テキストエディターでdotファイルに書き込む必要はありません。また、ドットファイルを調達する必要もありません。

6
ytbryan

あなたはこれについて間違った方向に進んでいます。

パスに/Applications/MAMP/Library/bin/を追加するか、MySQLを呼び出すスクリプトを作成して、すでにパスにあるbinディレクトリに配置します。

4
meagar

Macでは.bashrcファイルを配置しない限り、ファイルは取得されません

source ~/.bashrc の中に /etc/profileまたは/etc/bashrc

ちょうど私がそれを言及すると思いました。

0
user3347613