Intereting Posts
4k режим жесткого диска раздел logrotate: указанный размер 2000M в журналах connf все еще составляет более 2000 миллионов Сообщение «Требуются дополнительные мультимедийные кодеки» Gnome Software Как заставить x-screensavers работать с mate-screensaver? Как интерпретировать явные ссылки на GNU в спецификациях LSB? Виртуализация – хост Linux – работает Adobe After Effects с аппаратным ускорением (с использованием OpenGL)? Мост / Совместное использование сетевого принтера в freebsd Могу ли я заставить dnf установить старую версию пакета? Что такое селектор CSS для GtkSearchBar? Могу ли я получить номер N-й строки стандартного вывода? Соберите существующий RAID 0 с помощью mdadm Почему эти две команды дат дают разные результаты? Как я могу преобразовать PNG в PDF в высоком качестве, чтобы он не был размытым или нечетким? Как создать начальный скрипт LSB Header для этого скрипта в Debian? Какие части файловой системы для tmpfs / squashfs / sparseimage для встроенной системы USB

Каковы типы ~, ~ -, ~ +, *?

Если я прав, pwd – это команда, PWD – это переменная (имя), а - в cd - операнд.

Каковы типы ~ , ~- , ~+ , * когда они означают $HOME , предыдущий посещенный каталог, текущий каталог и файлы в текущем каталоге? (с точки зрения языков программирования)

Являются ли они именами переменных? Если да, то почему echo $~ не работает?

Почему * работает в:

 for i in *; do ls "$i"; done 

* – метасимвол (или подстановочный знак), все остальные – примеры tilde-prefix ( ~ является стандартным, ~+ и ~- расширениями).

Ни один из них не является переменным, поэтому нет точки, префикса которой они имеют $ .

echo $~ отлично работает, он отображает $~ . Расширение отсутствует, потому что ~ не используется в качестве префикса.

for i in *; ... for i in *; ... работает так, как было разработано.