現在私のIからbashrc
変数をエクスポートしています。export dl="path/to/Downloads"
パスにスペースが含まれているため、ディレクトリからエントリを取得するたびmv
に変数を引用する必要があります(dl
たとえば、コマンドラインで変数を引用せずにmv "$dl"/*.py somewhere/else
変数を定義する方法はありますか?)。dl
するmv $dl/*.py somewhere/else
?
ここで同様の質問をしましたが、この特定の問題に対する解決策が見つかりませんでした。重複した投稿でもご了承ください。
答え1
いいえ、できません。他のシェル言語を使用したり、スペースなしでディレクトリへのシンボリックリンクを作成したり、いくつかのエイリアシングトリックを使用したりできます。
私は個人的に後者をすぐに忘れてしまうので、そうしません;-)
しかし、とにかく例は次のとおりです。
# usage: q cmd ...
# just like cmd ..., only without IFS splitting
alias q='_q=$(fc -nl -0); IFS= eval "${_q#*q}" #'
$ src='foo bar' dst='baz quux'
$ q mkdir -p $src/dir $dst
$ q mv $src/dir $dst
$ q ls $dst
dir
答え2
まったく問題はありませんが、問題がダウンロードフォルダからファイルを移動する一般的な作業であることが明らかな場合は、特定のエイリアスを使用できます。
alias dl-mv='mv "$dl"/'
もちろん、ダウンロードフォルダの名前を変更したり場所を変更したりすることもできます(パスにスペースを入れずにシンボリックリンクを使用することもできます)。