Команда, которая дает username@hostname:pwd

Используйте -i опция ls видеть inode число, которое является уникальным идентификатором (в файловой системе) файла или другого объекта.

Вы будете видеть, что файл был заменен другим объектом: inode число, вероятно, изменится.

Наблюдение того же inode числа не является доказательством ничего: может быть переработано inode число. Если мы удаляем последнюю ссылку на файл и затем создаем новый файл, мы могли бы добраться один с тем же inode числом. Но этого не может произойти, если старый файл удален после того, как новый создается. Например. mv file file.tmp; touch file; rm file.tmp. Я подозреваю, что энергия на самом деле делает что-то аналогичное этому echo new_content > tmpfile; mv tmpfile file. mv операция переведет в a rename системный вызов, таким образом, присвоение inode чисел зависит от того, как файловая система реализует переименовывание, которое удаляет связь с местом назначения.

7
20.11.2013, 17:36
2 ответа

Ни одна команда насколько я знаю, но это делает то, в чем Вы нуждаетесь:

echo "$(whoami)@$(hostname):$PWD"

Вы могли превратить это в псевдоним путем добавления этой строки к оболочке rc файл (~/.bashrc, или ~/.zshrc или независимо от того, что Вы используете):

alias foo='echo "$(whoami)@$(hostname):$PWD"'
7
27.01.2020, 20:18
  • 1
    Это работает, спасибо. Можно ли объяснить почему команда PWD находится в ограничениях, но hostname и whoami не? Я не уверен, что понимаю различие, и я думаю, что это могло бы быть важно. –  Hooked 20.11.2013, 17:55
  • 2
    PWD является средой varible, которым называют $PWD. Существует много других переменных среды (как $PS1, первая часть Вашей командной строки). Другие используют $() синтаксис для использования вывода команды на месте. Это - основной обзор, по крайней мере, того, каково различие. Когда Вы запуск, добирающийся далее в командную строку, и, начинает делать псевдонимы и функции и колотит сценарии, это - что-то, что Вы будете учиться любить. Мне бы хотелось думать о некоторых сумасшедших вещах, которые я сделал с этим! –  Rob 20.11.2013, 17:59
  • 3
    @Rob Благодарит, я понимаю теперь, но почему использование $PWD $(pwd), вывод не должен всегда быть тем же? Один лучше, чем другой или является этим просто персональное предпочтение? –  Hooked 20.11.2013, 18:01
  • 4
    @Hooked хорошо, честно я сомневаюсь, что существует много различия, но pwd выполняет еще одну команду, и я (думаю), что это будет более дорого, чем запросы переменной. На практике не будет никакой реальной разницы, хотя, используйте, какой бы ни Вы предпочитаете. –  terdon♦ 20.11.2013, 18:07
  • 5
    $(whoami) выполняет команду whoami и использует вывод, и $PWD просто захватывает переменную среды. Разветвление от меньшего количества процессов лучше для скорости и производительности, но в этом случае это действительно не имеет значения. Если Вы делаете printenv это должно перечислить все переменные среды. У меня есть $USER, таким образом, я мог использовать echo "$USER@$(hostname):$PWD" –  Rob 20.11.2013, 18:16

Это также работает (с использованием переменных окружения):

echo "$USER@$HOSTNAME:$PWD"
0
05.02.2021, 13:31

Теги

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