У цій збірці жахів сидсмена, як правило, пише один з авторів:
Завжди робіть
cd .
перед тим, як щось робити.
Чому б ти хотів це зробити?
У цій збірці жахів сидсмена, як правило, пише один з авторів:
Завжди робіть
cd .
перед тим, як щось робити.
Чому б ти хотів це зробити?
Відповіді:
Ви цього не робите.
Принаймні, не просто так. Попередній рядок у цитованому документі має важливе значення:
- Налаштуйте своє підказку робити
pwd
щоразу, коли ви CD.- Завжди робіть
cd .
перед тим, як щось робити.
Таким чином, ви як оператор перевіряєте свій поточний робочий режим, перш ніж робити щось важливе, оскільки воно друкується з кожною зміною. cd .
не має сенсу інакше.
Ця "перевірка" - це гарна річ, і ви повинні адаптувати її форму. Більш поширений варіант цієї теми (IMHO) полягає у тому, щоб завжди надрукувати робочий редактор під час запиту.
pwd
перш ніж робити щось?
cd .
може змінити фактичну основу каталог, в якому ви перебуваєте.
cd .
але перш ніж робити щось інше. Це просто зменшує ймовірність потрапляння в неправильний каталог, але не вирішує загальної проблеми. Якщо ви не переходите до справжнього каталогу, використовуючи щось на зразок того, cd $(readlink -f .)
що ви насправді хочете залишитися там.
Якщо видалений поточний робочий каталог вашої оболонки, дані можуть втратити.
Наприклад,
$ pwd
/home/user/test
$ rmdir /home/user/test
$ pwd
/home/user/test
$ some_command | tee command.log
tee: command.log: No such file or directory
<long output>
Вихід some_command
не записувався на диск.
Введення тексту cd .
перед запуском команди виявить проблему.
$ pwd
/home/user/test
$ rmdir /home/user/test
$ cd .
$ pwd
.
Якщо поточний каталог робочого каталогу було видалено та заново створено, введення тексту cd .
"оновить" посилання на цей каталог.
$ ls
foo bar ljz
$ pwd
/home/user/test
$ rmdir /home/user/test
$ mkdir /home/user/test
$ pwd
/home/user/test
$ ls
$ cd .
$ ls
foo bar ljz
Я думаю, що важливіше показати свій поточний каталог.
На кожному сервері Linux я змінюю підказку /etc/bashrc
, змінюючи "W" на "w".
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
до
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \w]\\$ "
Ефект цього:
[root@xt include]#
проти
[root@xt /usr/src/spl-0.6.1/include]#
PS1
специфічним для bash?
~/.profile
або ~/.bash_profile
, а також оновлення/etc/skel/.profile