Bash - Вставка переменной сценария Perl

Не одна команда, а одна строка (и имя файла создается с правильным режимом и содержимым) в оболочках, которые поддерживают подстановка процесса:

install -m 0755 <(echo "file content") filename
2
09.12.2015, 21:42
3 ответа

Используйте это, чтобы включить расширение переменных:

myvar=$(perl -e 'print "AAA" x ('"$i"')')
2
29.04.2021, 00:20

В Perl встроена рудиментарная форма разбора опций. Она работает так же, как опция awk -v, но она более уродлива

myvar=$(perl -s -e 'print "AAA" x ($j)' -- -j="$i")

Это передает $i оболочки в perl как переменную perl $j. Двойной дефис нужен для того, чтобы -j не был поглощен самим двоичным файлом perl.

1
29.04.2021, 00:20

Проблема заключается в типе кавычек, которые вы используете. Одинарные кавычки приводят к тому, что расширение переменной shell не выполняется.

i=5
myvar=$(perl -e "print 'AAA' x ($i)")
echo "$myvar"

Этот код работает, как и предполагалось.

0
29.04.2021, 00:20

Теги

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