私の問題を説明するために私がした愚かな方法は次のとおりです。
cp fileFromMyFriend.txt ~/my_first_subfolder/my_second_subfolder/more_subfolders
cd ~/my_first_subfolder/my_second_subfolder/more_subfolders
これらの2行を1つにまとめるショートカットは何ですか? & や などの接続記号を探していません。
代わりに、長いフォルダパスを再入力しないようにしています。
(ここに来る前に、cpのマニュアルページを閲覧し、別のフレーズで質問を検索しました)
答え1
対話形式で使用する場合:正常に入力して最初のコマンドを実行します。次に、次のように入力します(または+でcd
Space M-.入力できます)。キーボードショートカット(M-.Esc .Alt.M-.yank-last-arg
) 前のコマンドの最後の単語を挿入します。
スクリプトの場合:ディレクトリ名を変数に入れます。忘れないで変数を使用するときは二重引用符を使用してください。。
target_dir=~/my_first_subfolder/my_second_subfolder/more_subfolders
cp fileFromMyFriend.txt "$target_dir"
cd "$target_dir"
同じコマンドシーケンスを頻繁に使用する場合機能。次のbash関数が呼び出され、cp
最後のパラメータを変更するディレクトリとして使用します。最後の引数がディレクトリまたはディレクトリへのシンボリックリンクではない場合、最後の引数を含むディレクトリに変更されます。これはほとんどの用途には機能しますcp
が、-t
GNUオプションでは機能しませんcp
。
cp_cd () {
cp "$@"
if [ -d "${!#}/." ]; then
cd -- "${!#}"
else
cd -- "$(dirname -- "${!#}")"
fi
}
答え2
ご質問に簡単にお答えいたします。Rather I'm trying to avoid retyping my very long folder path.
それがあなたがしたいことなら、これを行うことができます:
cp fileFromMyFriend.txt ~/my_first_subfolder/my_second_subfolder/more_subfolders
cd !$
答え3
使用した最新のファイルを使用するには、次のコマンドを実行できます。
cd $_ # directory case
vim $_ # file case