だから私はBashについてはよくわかりませんが、この問題のためにパニックになりました。このswitchto
機能は、コマンドラインからプロジェクト間を簡単に移動する方法を提供します。
source ~/.profile
export PATH=~/bin:$PATH
export PATH=~/.composer/vendor/bin:$PATH
alias composer="php /usr/local/bin/composer.phar"
switchto () (
cd "~/Projects/$1.com/wp-content/themes/$1"
)
私にとってはすべてが正しいようですが、実行すると常に次のように表示されますswitchto example
。
-bash: cd: ~/Projects/example.com/wp-content/themes/example: No such file or directory
ディレクトリが実際に存在することを再確認しました。私はbashに初めて触れたので、これが私が間違っている簡単なことであるかどうかはわかりません。
答え1
引用した場合、チルダは~
ホームディレクトリに展開されません。
https://www.gnu.org/software/bash/manual/html_node/Tilde-Expansion.html
Tilde Expansion
単語が引用符で囲まれていないチルダ(
~
)で始まる場合は、最初に引用符で囲まれていないスラッシュまでのすべての文字(または引用符で囲まれていないスラッシュがない場合はすべての文字)が考慮されます。チルダプレフィックス。チルダプレフィックスに文字が引用されていない場合、チルダプレフィックスでチルダの後に続く文字は可能な文字と見なされます。ログイン名。このログイン名が空の文字列の場合、チルダはシェル変数の値に置き換えられますHOME
。設定しないと、HOME
シェルを実行しているユーザーのホームディレクトリが置き換えられます。それ以外の場合、チルダプレフィックスは指定されたログインに関連付けられているホームディレクトリに置き換えられます。
したがって、(中括弧で)以下を使用できます。
switchto () {
cd ~/"Projects/$1.com/wp-content/themes/$1"
}
PATH
次の2つの定義を組み合わせることができます。
export PATH=~/bin:~/.composer/vendor/bin:$PATH