私は一緒に働く多くの人と同じように、Magentoでたくさんのことをしています。
CD../../../../../../
ルート "httpdocs"フォルダからいくつかのディレクトリのみを検索するために、次の擬似コードに従うスクリプトを作成しました。
while lowest level directory != httpdocs
cd ../
end while;
簡単に見えます。現在の作業ディレクトリの最後の部分がhttpdocsであることを確認するためにgrepを実行し、そうでない場合はtrueになるまで1つ上のレベルに進む必要があるとします。
私はこれのためにbashを学ぶことを考えています。すでに似たようなものがあるようで構文が私を無限に混乱させます。
ベストアンサー1
upto
.bashrcは、名前に基づいて現在のパスのすべてのディレクトリに移動できる関数を呼び出します。
upto ()
{
if [ -z "$1" ]; then
return
fi
local upto=$1
cd "${PWD/\/$upto\/*//$upto}"
}
また、タブをクリックすると、有効なディレクトリ名と完了が表示されるように機能が完了しました。
_upto()
{
local cur=${COMP_WORDS[COMP_CWORD]}
local d=${PWD//\//\ }
COMPREPLY=( $( compgen -W "$d" -- "$cur" ) )
}
complete -F _upto upto
jd
また、現在のディレクトリの下の任意のディレクトリに移動できる別の機能があります。
jd(){
if [ -z "$1" ]; then
echo "Usage: jd [directory]";
return 1
else
cd **"/$1"
fi
}
例:
[/www/public_html/animals/hippopotamus/habitat/swamps/images] $ upto h[TAB][TAB]
habitat hippopotamus
[/www/public_html/animals/hippopotamus/habitat/swamps/images] $ upto hippopotamus
[/www/public_html/animals/hippopotamus] $ jd images
[/www/public_html/animals/hippopotamus/habitat/swamps/images] $