Как получить перевод строки в оболочке fi sh? - PullRequest
2 голосов
/ 23 января 2020

Это тот же вопрос, что и Как получить новую строку в строке в sh? , но в оболочке fi sh.

В bash у нас есть:

$'this is line\nthis is another line'

, который дает ожидаемый результат, но в Fi sh это не работает.

Fi sh имеет аналогичный способ сделать это?

Редактировать 1:

имеет буквальный метод, мудро упомянутый faho:

'this is line this is another line'

Но мне действительно любопытно существование метода, сохраняющего ссылку на \n как разрыв строки, как в shell.

Я хочу знать, могу ли я использовать эту строку "this is a line\nthis is another line", убедившись, что fi sh будет учитывать \n как разрыв строки, а не как литерал.

1 Ответ

2 голосов
/ 23 января 2020
  1. Fi sh заменяет \n вне кавычек на новую строку, так что вы можете останавливать и перезапускать кавычки (обратите внимание, нет "$" перед кавычками):

' это строка '\ n' это другая строка '

Fi sh следует за кавычками через строки, поэтому вы можете включить буквальный перевод строки:

'this is line this is another line'

...