Если bash
находится в другом месте, которое можно хешировать, ударяют по нему следующим образом:
#!/usr/bin/env bash
Местоположение для env
является довольно стандартным через варианты.
С zsh:
mv -- *(D) html
mv
будет жаловаться, что это не может переместиться html
к себе, но все еще переместит остальных.
С ударом:
shopt -s dotglob
mv -- * html
С ksh93:
FIGNORE='@(.|..)'
mv -- * html
POSIXly:
mv -- * .??* .[!.] html
или
mv -- * .[!.]* ..?* html
(Вы, вероятно, получите ошибки для тех из шаблонов, которые не имеют никакого соответствия. Это должно быть безопасно, но все еще заставит статус выхода быть ненулевым так в сценарии, Вы не смогли бы отличить это с отказом переместить файлы).
Простой способ:
# from the www directory
cd ..
mv www html
mkdir www
mv html www/
Это предполагает, что у Вас уже нет a html
каталог на том же уровне как www
. Если Вы делаете, выберите другое имя:
cd ..
mv www temp_name
mkdir www
mv temp_name www/html
Наивная опция (не пробуют его!) был бы: mv * .* html
- это однако попытается переместиться .
и ..
также, который является не совсем, что Вы хотите. Я обычно делаю что-то как mv * .??* html
- это перемещает нормальный файл и скрытые файлы с именами, которые имеют по крайней мере 3 символа в них, эффективно пропуская .
и ..