Если .profile
действительно содержит:
SHELL=`type -p bash`
exec bash -l
И нет .bash_profile
, у нас есть цикл. Ваша оболочка входа в систему (скажем, / bin / sh
, возможно) читает .profile
, что приводит к exec
bash в качестве оболочки входа. Bash при запуске в качестве оболочки входа в систему читает .bash_profile
, а если он отсутствует, .profile
. Таким образом, он также будет читать выполнение этих команд, что приводит к exec
bash в качестве оболочки входа в систему. Bash при запуске в качестве оболочки входа в систему….
Это может быть более разумный способ сделать это:
if [ -z "${BASH_VERSION}" ];
then
SHELL=`type -p bash`
exec bash -l
fi
Хотя вместо подобных хаков вам следует попросить системного администратора установить bash в качестве оболочки входа в систему (при условии, что вы не можете сделать это самостоятельно, используя chsh
).
Для справки в будущем: если вы добавите / в конец пути, команда завершится ошибкой, если целевой каталог не является ранее существовавшим каталогом, например
mv foldername .. ../
Правильная форма была бы
mv folder_name ../..
Вы переместили папку в новую папку с именем ....
; чтобы восстановить файлы, выполните
mv .... folder_name
Как и многие другие команды, mv
несколько опасно, потому что ошибки могут в некоторых случаях привести к невосстановимой потере данных (за исключением резервных копий): все, что в конечном итоге интерпретируется как «переместить эти файлы в этот файл», приведет к потере всех файлов, кроме последнего (каждый файл будет переименован в свою очередь в целевой). Чтобы предотвратить такие ошибки, существует ряд методов:
-i
, которые говорят mv
запрашивать подтверждение перед перезаписью; -t
для указания целевой папки (поэтому mv
будет перемещаться только в целевую папку);/
в конце имени целевой папки. Вы только что переименовали папку в ....
, и так как начинается с .
, теперь она скрыта.
тип mv .... имя_папки
для его восстановления
Вы также можете ввести ls -la
, чтобы перечислить его (поскольку -a
печатает скрытые файлы)
Правильный способ убывания файлов и папок двух каталогов — mv fileorfolder .. /.. /
Ваш каталог все еще там :)
Вы переименовали его ....
Поскольку файлы, имена которых начинаются с .
являются скрытыми, вы не сможете увидеть каталог, если не отобразите скрытые файлы
запустите
ls -A
и вот он!
Верните изменение:
mv .... original_folder_name
и сделайте перемещение правильно
mv original_folder_name ../..