開始点(隠し)とフォルダ(繰り返し)を含むすべてのファイルを移動したいです。
だから私は次のコマンドを使用しました。
shopt -s dotglob nullglob
mv ~/public/* ~/public_html/
効果がありました。
しかし、作業を終えた後にリセットする必要がありますかshopt -s dotglob nullglob
?コマンドの動作方法が変わりませんかmv
?なぜなら、もう一度変えたいからです。
ベストアンサー1
shopt -u nullglob dotglob
はい、現在のシェルからデフォルトのグロービング動作を復元するには、後でこれらのオプションを無効にする(有効にする)必要があります。
あなたはこれを行うことができます
mv ~/public/* ~/public/.* ~/public_html/
明らかに、パターンの1つが何も一致しない場合、設定されていない場合はまだエラーが発生しますnullglob
が、両方のオプションのいずれかを設定しなくても機能します。ディレクトリなので、名前変更が失敗したという内容があるかもしれませんが、.
それでもファイルの移動が中断されるわけではありません。
より良いオプションはrsync
ローカルで使用することです。
rsync -av ~/public/ ~/public_html/
その後、削除してください~/public
。