У меня есть два случая его использования, и мне интересно, что каждый из них делает:
service=~
mv ~/Desktop/Service$version.tgz $service
Что делает маленький волнистый ~
?
Затем, после этого, что бы cd $service
сделать?
У меня есть два случая его использования, и мне интересно, что каждый из них делает:
service=~
mv ~/Desktop/Service$version.tgz $service
Что делает маленький волнистый ~
?
Затем, после этого, что бы cd $service
сделать?
Ответы:
Волнистая вещь называется «тильда».
Он расширяется до вашего домашнего каталога.
Пытаться
Оба утверждения помещают ваш домашний каталог в строку.
Смотрите bash Tilde Expansion для подробностей.
источник
«Волнистый» называется тильдой. Он используется для ссылки на ваш домашний каталог, который в Linux, обычно
/home/username
. Он также хранится в$HOME
переменной окружения. Расширение~
до расположения домашнего каталога - это работа оболочки (например, zsh или bash) или файлового менеджера (например, Nautilus), а не сама файловая система или ОС.Вы также можете использовать это для ссылки на домашний каталог другого пользователя. Например, если имя пользователя другого пользователя
bob
, вы можете обратиться к его домашнему каталогу~bob
, который будет расширен до/home/bob/
.Первый пример , который вы дали устанавливает переменную
service
к~
, так что соответствует вашей домашней директории. Это эквивалентноservice=/home/username
илиservice=$HOME
.Второй пример копирует файл
~/Desktop/Service$version.tgz
(или/home/username/Desktop/Service$version.tgz
) в/home/username
. Эта команда эквивалентна:или
или
Третий изменит текущий рабочий каталог (
$PWD
) на/home/username/
. Это эквивалентно:или
источник
В # 1 и # 2: ~ это ваш домашний каталог, поэтому если вы qwerty, скорее всего это будет каталог / home / qwerty. Поэтому постарайтесь
ls ~
это увидеть.Для # 1: мне кажется, что служба переменных определяется как ваш домашний каталог.
Это означает, что после того, как # 2 переместил файл tgz из подкаталога Desktop в ваш домашний каталог, # 3 затем изменился на домашний каталог.
источник
Похоже, команды делают следующее.
Присвойте переменную с именем service вашей домашней папке, например:
Он перемещает файл с вашего рабочего стола на верхний уровень вашего домашнего каталога, например:
Затем скрипт меняет каталог на верхний уровень домашнего каталога.
Итак, все, что делает скрипт, это просто очищает ваш рабочий стол,
/home/user
вместо этого перемещая файл в вашу папку.источник
Здесь я добавлю, что ~ user также раскрывает домашний каталог [user], так что это не просто ярлык для вашего собственного домашнего каталога.
Например:
источник