bashで隠されたファイルを移動してdotglobをリセットしますか?

bashで隠されたファイルを移動してdotglobをリセットしますか?

開始点(隠し)とフォルダ(繰り返し)を含むすべてのファイルを移動したいです。

だから私は次のコマンドを使用しました。

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

おすすめ記事