Почему необходимо выполнить CD. прежде, чем сделать что-нибудь?

Ваша команда невозможно сложна.

Вот упрощенная версия:

getent passwd USERNAME | awk -F: '{print $6 "/Desktop"}'

Вот распутанная версия Вашего оригинала:

awk -v "id=$(id -u USERNAME)" -F: '{if ($3 == id) print $6 "/Desktop"}' /etc/passwd

или

awk -v "name=USERNAME" -F: '{if ($1 == name) print $6 "/Desktop"}' /etc/passwd
22
задан 10 March 2014 в 00:00
3 ответа

Нет.

По крайней мере, не так. Предыдущая строка в цитируемом документе имеет важное значение:

  • Настройте запрос на выполнение pwd каждый раз, когда вы cd.
  • Всегда делайте cd. перед тем, как что-либо делать.

Таким образом, вы как оператор проверяете свой текущий рабочий каталог, прежде чем делать что-либо важное, поскольку он распечатывается при каждом изменении. компакт-диск в противном случае не имеет никакого смысла.

Эта «проверка» - хорошая вещь, и вам следует адаптировать ее форму. Более (IMHO) распространенный вариант этой темы - всегда распечатывать рабочий каталог по запросу.

32
ответ дан 28 November 2019 в 20:21

Если текущий рабочий каталог вашей оболочки будет удален, можно потерять данные.

Например,

$ 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
18
ответ дан 28 November 2019 в 20:21

Я думаю, что важнее показать ваш текущий каталог.

На каждом сервере 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]# 
13
ответ дан 28 November 2019 в 20:21

Теги

Похожие вопросы