以下を行うための短い関数を作成したいと思います。ファイル「file.tex」をドキュメントディレクトリに移動するとします。
mv file.tex ~/Documents
次に、cd
そのディレクトリに移動します。
cd ~/Documents
これを任意のディレクトリに一般化し、これを実行できるようにします。
mv file.tex ~/Documents
follow
しているとfollow
、コマンドが前のコマンドから先を読んで、それに応じて実行します。単純なディレクトリの場合、これはあまり時間を節約しませんが、ネストされたディレクトリで作業するとき、ただ使用できるとすればすごいでしょう
mv file.tex ~/Documents/folder1/subfolder1
follow
私はそれが比較的簡単だと思った、と私はこのような何かをすることができます
follow()
{
place=`history 2 | sed -n '1p;1q' | rev | cut -d ' ' -f1 | rev`
cd $place
}
しかし、これはうまくいかないようです。echoした場合$place
、目的の文字列を取得します(でテストしています~/Documents
)が、最後のコマンドは
No such file or directory
ディレクトリは確かに存在します。私は迷っています。手伝ってくれませんか?
cd
alt + .
と入力して、前のコマンドの最後のトークンを置き換えます。繰り返して、最終トークンの履歴に戻ります。(最後のトークンとしてfoo &
取得するため、トークンは引数ではありません&
。)数値引数を使用できます(たとえば、escape-3 alt +。を使用)。
file.tex
元の場所にとどまることを気にしない場合、シンボリックリンクは非常に優れた代替手段であることに注意してください。一度リンクするだけで、その後は常に最新バージョンを指します。