Почему при использовании кавычек отображается одинарная обратная косая черта

Во-первых, если вы хотите установить его навсегда, вы должны сделать запись для него в файле / etc / fstab , например:

/dev/sda8    /media/john/Study   ext4     defaults    0     0

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

mount /dev/sda8 /media/john/Study
5
17.10.2017, 17:32
1 ответ

Вот «усложненный для понимания» пример. Надеюсь, это будет полезно для всех, кто пытается понять qutoes и обратную косую черту.

В этом примере я хочу повторить шаблон 3 раза.

>~# echo 'ABC\n\t'
ABC\n\t

Используя одинарные кавычки , это довольно просто:

>~# echo 'ABC\n\t' | sed -e 's#ABC\\n\\t#ABC\\n\\tABC\\n\\tABC\\n\\t#'
                                  ↑  ↑      ↑        ↑  ↑     ↑  ↑
                    # These backslashes escaped by sed
ABC\n\tABC\n\tABC\n\t

Вот способ сделать это, используя двойные кавычки:(снова, усложненный только ради понимания)

>~# echo 'ABC\n\t' | sed -e "s#ABC\\\n\\\t#$(printf '%0.sABC\\\\n\\\\t' $(seq 1 3))#"
                                  ↑   ↑                     ↑ ↑  ↑ ↑
            # These backslashes are removed in double quotes. Showing intermediate stage:

>~# echo 'ABC\n\t' | sed -e "s#ABC\\n\\t#$(printf '%0.sABC\\n\\t' $(seq 1 3))#"

                # Expanding printf results in:

>~# echo 'ABC\n\t' | sed -e 's#ABC\\n\\t#ABC\\n\\tABC\\n\\tABC\\n\\t#'

ABC\n\tABC\n\tABC\n\t

Просто чтобы поиграть и освоить кавычки и обратную косую черту, замените одинарные кавычки вокруг printf двойными кавычками.

0
27.01.2020, 20:33

Теги

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