Как работает ~ /? [dубликат]

С awk способом:

awk -F'*\\*' 'NF>2{print $2}' infile

пример тестового ввода:

*wrd*
*woooord
**WRD
WORD**
woooooooooood*
**word**

выход:

word
10
задан 24 April 2018 в 17:34

6 ответов

Это расширение тильды.

Расширение Тильды требуется POSIX (см. первую связанную страницу) и появляется во всех современных оболочках в стиле Бурна. Это включает в себя популярные оболочки bash, ksh93 и zsh, но также более минималистические оболочки, такие как mksh, dash и busybox ash.

На практике разные POSIX- совместимые оболочки иногда отличаются точными деталями расширения тильды, как в неуказанном случае, когда HOME будет использоваться, но будет отменен или пуст, и разрешить использовать нотацию ~ для других целей, чем расширение домашних каталогов пользователей. Например, POSIX также предоставляет сокращение для доступа к значениям переменных PWD и OLDPWD с ~- и ~+ соответственно.

Однако, в типичных случаях он работает примерно одинаково в оболочках в стиле Бурна. Это типичные случаи (но обратите внимание, что этот способ их разделения не является официальным, это только мой способ представить материал):

~ или ~/ сам по себе расширяется до вашего домашнего каталога. ~/, а затем дополнительные компоненты пути расширяются до пути, начинающегося в вашем домашнем каталоге. ~username или ~username/ сам по себе расширяется до домашнего каталога пользователя с именем пользователя username. ~username/, а затем дополнительные компоненты пути расширяются до пути, начинающегося с домашнего каталога пользователя, чье имя пользователя username.
15
ответ дан 22 May 2018 в 11:16
  • 1
    Он также появляется в оболочках типа non-Bourne, таких как tcsh. – jamesqf 24 April 2018 в 19:59
  • 2
    Также стоит отметить, что имя пользователя указывает не только фактических людей, но и пользователей системы и может поступать из базы данных, кроме как только passwd. См. unix.stackexchange.com/q/423962/85039 – Sergiy Kolodyazhnyy 3 May 2018 в 18:43

Это расширение тильды.

Расширение Тильды требуется POSIX (см. первую связанную страницу) и появляется во всех современных оболочках в стиле Бурна. Это включает в себя популярные оболочки bash, ksh93 и zsh, но также более минималистические оболочки, такие как mksh, dash и busybox ash.

На практике разные POSIX- совместимые оболочки иногда отличаются точными деталями расширения тильды, как в неуказанном случае, когда HOME будет использоваться, но будет отменен или пуст, и разрешить использовать нотацию ~ для других целей, чем расширение домашних каталогов пользователей. Например, POSIX также предоставляет сокращение для доступа к значениям переменных PWD и OLDPWD с ~- и ~+ соответственно.

Однако, в типичных случаях он работает примерно одинаково в оболочках в стиле Бурна. Это типичные случаи (но обратите внимание, что этот способ их разделения не является официальным, это только мой способ представить материал):

~ или ~/ сам по себе расширяется до вашего домашнего каталога. ~/, а затем дополнительные компоненты пути расширяются до пути, начинающегося в вашем домашнем каталоге. ~username или ~username/ сам по себе расширяется до домашнего каталога пользователя с именем пользователя username. ~username/, а затем дополнительные компоненты пути расширяются до пути, начинающегося с домашнего каталога пользователя, чье имя пользователя username.
15
ответ дан 17 July 2018 в 16:14

Это расширение тильды.

Расширение Тильды требуется POSIX (см. первую связанную страницу) и появляется во всех современных оболочках в стиле Бурна. Это включает в себя популярные оболочки bash, ksh93 и zsh, но также более минималистические оболочки, такие как mksh, dash и busybox ash.

На практике разные POSIX- совместимые оболочки иногда отличаются точными деталями расширения тильды, как в неуказанном случае, когда HOME будет использоваться, но будет отменен или пуст, и разрешить использовать нотацию ~ для других целей, чем расширение домашних каталогов пользователей. Например, POSIX также предоставляет сокращение для доступа к значениям переменных PWD и OLDPWD с ~- и ~+ соответственно.

Однако, в типичных случаях он работает примерно одинаково в оболочках в стиле Бурна. Это типичные случаи (но обратите внимание, что этот способ их разделения не является официальным, это только мой способ представить материал):

~ или ~/ сам по себе расширяется до вашего домашнего каталога. ~/, а затем дополнительные компоненты пути расширяются до пути, начинающегося в вашем домашнем каталоге. ~username или ~username/ сам по себе расширяется до домашнего каталога пользователя с именем пользователя username. ~username/, а затем дополнительные компоненты пути расширяются до пути, начинающегося с домашнего каталога пользователя, чье имя пользователя username.
15
ответ дан 23 July 2018 в 17:08

~ является «сокращением» для $HOME

~ является «сокращенным» способом написать $HOME, другими словами, ваш домашний каталог.

Если вы добавляете конечную косую черту, вы подразумеваете, что вы говорите о каталоге.

Примеры:

$ ls -d ~/
/home/sudodus/
$ ls -d ~
/home/sudodus
$ ls -d $HOME
/home/sudodus

$ sudo -i
[sudo] lösenord för sudodus: 
# ls -d ~/
/root/
# ls -d ~
/root
# exit
logout

$ ls xournal.png
xournal.png

$ LANG=C ls xournal.png/
ls: cannot access 'xournal.png/': Not a directory
5
ответ дан 22 May 2018 в 11:16

~ является «сокращением» для $HOME

~ является «сокращенным» способом написать $HOME, другими словами, ваш домашний каталог.

Если вы добавляете конечную косую черту, вы подразумеваете, что вы говорите о каталоге.

Примеры:

$ ls -d ~/ /home/sudodus/ $ ls -d ~ /home/sudodus $ ls -d $HOME /home/sudodus $ sudo -i [sudo] lösenord för sudodus: # ls -d ~/ /root/ # ls -d ~ /root # exit logout $ ls xournal.png xournal.png $ LANG=C ls xournal.png/ ls: cannot access 'xournal.png/': Not a directory
5
ответ дан 17 July 2018 в 16:14

~ является «сокращением» для $HOME

~ является «сокращенным» способом написать $HOME, другими словами, ваш домашний каталог.

Если вы добавляете конечную косую черту, вы подразумеваете, что вы говорите о каталоге.

Примеры:

$ ls -d ~/ /home/sudodus/ $ ls -d ~ /home/sudodus $ ls -d $HOME /home/sudodus $ sudo -i [sudo] lösenord för sudodus: # ls -d ~/ /root/ # ls -d ~ /root # exit logout $ ls xournal.png xournal.png $ LANG=C ls xournal.png/ ls: cannot access 'xournal.png/': Not a directory
5
ответ дан 23 July 2018 в 17:08

Другие вопросы по тегам:

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