ルートディレクトリにある.bash_profileを変更しようとしましたが、いくつかの問題が発生しています。 Macbook ProのOS X、ヨセミテを使用しています。私が理解しているように、.bash_profileファイルには、ターミナルアプリが開いてbashシェルが起動するたびに自動的に呼び出されるスクリプトが含まれています。これは私が現在そのファイルに書いたものです:
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
これは完璧に機能します。ただし、次のようにエイリアス(上記の2行の真下)を追加します。
alias test='cd ..'
しかし、これを保存してターミナルを起動すると、次のメッセージが表示されます。
-bash: alias: ..": not found
一重引用符を二重引用符で置き換えることは役に立ちませんし、完全に取り除くこともできません。ただし、奇妙なことに、次のエイリアスが機能します。
alias c=clear
端末にcと入力すると、予想どおり画面がクリアされます。ただし、代わりに次のようにbashプロファイルに引用符でこの行を入力した場合:
alias c='clear'
次に、ターミナルにcと入力すると、次のようになります。
-bash: 'clear': command not found
このエイリアスの起動時にエラーメッセージが表示されないことに注意してください。
何が悪いのですか?エイリアスを正しく機能させるためにどこかで変更する必要がある設定はありますか?私は以前のエイリアスの例を見てきましたが、それらは私にはうまくいきません。
ターミナルからログインするときに、シェルが.bash_profileにアクセスしていないようです。
.bash_profile
はbashシェルの設定ファイルです。 bashシェルが起動すると、シェルは.bash_profile
のコマンドを実行します。しかし、シェルには多くの種類があり、異なるシェルは異なる設定ファイルを実行します。
ターミナルはユーザー入力を受け取るソフトウェアであり、シェルはコマンドを実行します。cat /etc/Shell
を使用して、受け入れ可能なシェルをリストできます。例えば:
$ cat /etc/shells
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
デフォルトのシェルはMac OXのbash Shellです。ただし、zshをインストールした場合、デフォルトのシェルはzshです。zshシェルの起動時に、シェルは.zshrc
という名前のファイルを見つけ、.zshrc
のコマンドを実行します。
echo $Shell
を使用できますか?
$ echo $Shell
/bin/bash
-> echo $Shell
/bin/zsh
デフォルトのシェルがzshの場合、.bash_profile
は逆に機能しません。 zshの設定ファイルは.zshrc
です。そして、あなたの問題は、デフォルトのシェルがbashシェルではないことだと思います。たとえば、デフォルトのシェルがzshの場合、.zshrc
を構成する必要があります。
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
または他の構成を~/.zshrc
に設定します。
次にsource ~/.zshrc
を実行すると、設定がすぐに機能します。
私にとっては、同じ端末では機能しませんでした。私はそれを機能させるために新しいものを開かなければなりませんでした。
コマンドを二重引用符で囲むとうまくいきました。私はこのスレッドで言及されたあらゆる可能な方法で試してみましたが、どれもうまくいきませんでした。それから私は一重引用符を二重に置き換えました、そしてそれはうまくいきました。
alias mysql_start="Sudo /path/to/server/mysql.server start"
私にとってのキラーは、スペースと一重引用符でした。エイリアスtest = "cd .."が機能しました。 alias_name =の間にスペースを入れないでください
ユーザーレベルの「システム」ファイルには「プレーンテキスト」を含める必要があります。これを「選択の編集者」に設定/構成する方法はさまざまです(私はMacを使用していないので、あまり役に立ちません)。
直接行を追加して、「シェルから」プロファイルを作成します。つまり、「不良行を削除してから、次のようにします。
エコー "いくつかのコマンド文字列" >>〜/ path/bash_profile
「vi」または「vim」を使用##は「安全」である必要があります
次の方法でファイルを確認します。
cat -v〜/ path/bash_profle |詳細##「面白いキャラクター」をご覧ください。または
cat -ve〜/ path/bash_profle |詳細##「面白いキャラクター」をご覧ください。または
または
vi ~/path/bash_profle # then set 'control codes' to 'on'
set list ## see any 'funny chars' for your 'quotes'?
私が気づいたのは、Macにはスマートクォートとダッシュのオプションがあるということです。 alias ..='cd ../'
はalias ..=‘cd ../‘
とは異なり、前者は機能しますが後者は機能しません。
エイリアスが認識しない場合は、まず、ターミナルまたはコマンドラインプロンプトecho $Shell
を開いたときに使用しているシェルを特定します。私にとっては/ bin/bashなので、~/.bash_profile
にエイリアスを入力します
ファイル〜/ .bash_profileには、ターミナルセッション中に呼び出す両方のエイリアスを格納し、ターミナルセッションを開いたときに同じエイリアスを自動実行できることに注意してください。以下の例では、ファイルを開いてテキストで編集しますvim-softwareを使用します。必要に応じて、他のtext-editorsを変更できます。違いはクロージャー方式でわかります。
`vim ~/.bash_profile`
〜/ .bash_profileまたは〜/ .alias_file ...でエイリアスの自動自動起動を実行するには、bashを使用する場合は〜/ .bashrcに、zshを使用する場合は〜/ .zshrcにファイル名のエイリアスを貼り付けます。
例:
if [ -s ~/.bash_profile ]; then
source ~/.bash_profile;
fi
エイリアスコマンドが.bash_profile
にも含まれていることを確認してください。それが私の問題でした。
また、ターミナルにエイリアスを入力しただけの場合は、既知のエイリアスコマンドがすべて一覧表示されるため、コマンドが表示されない場合は、何か問題があることがわかります。
これを修正するには、vimまたはnanoで.bash_profileを編集して、編集したテキストについて何かを修正しました。理由は不明です。
「open .bash_profile」を使用してメモ帳で編集しようとしましたが、シンボルについて何かが正しく翻訳されていません。したがって、「vim .bash_profile」または「nano .bash_profile」のいずれかを使用する必要があります
これを行うと、この問題が修正されました。