Bash псевдоним или функция для создания многострочного файла - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть следующая команда bash, которая создает многострочный файл в текущем каталоге:

cat > data.txt <<EOL
Line 1
Another line
Something else
EOL

Я пытаюсь создать псевдоним bash или функцию для запуска этой команды.Я пробовал следующее, но ничего не происходит:

alias create-file="
cat > ~/Desktop/stuffs/data.txt <<EOL
Line 1
Hello world
Another line
EOL"

Не повезло, пробуя функцию тоже:

function npmrcpersonal() {
  "cat > ~/Desktop/stuffs/data.txt <<EOL
  Line 1
  Hello world
  Another line
  EOL"
}

Что я здесь не так делаю?

1 Ответ

0 голосов
/ 28 февраля 2019

Вы не цитируете тело функции.И здесь документ не должен быть с отступом.

function npmrcpersonal() {
  cat > ~/Desktop/stuffs/data.txt <<EOL
Line 1
Hello world
Another line
EOL
}

Маркер EOL будет распознаваться только в том случае, если он находится на левом поле (если вы не используете <<-EOL, тогда он может иметь отступ,но только с TAB символами, а не пробелами).Остальная часть документа здесь не должна иметь отступ, потому что эти пробелы попадут в файл, и вы, вероятно, не хотите этого.

...