LINUX.ORG.RU

Запуск Bash команд из perl

 , ,


0

1

Здравствуйте, пытаюсь с perl скрипта запустить команду из bash оболочки, но по дефолту команда запускается из оболочки sh , пробовал прописывать /bin/bash, но ничего не получилось. Пример скрипта

#!/usr/bin/env perl
...
while(<STDIN>)
{

my $string=$_;

`sox $string 'test/test2.wav`;
#$string - parameters from sox 
}


но по дефолту команда запускается из оболочки sh

А как ты это определяешь? И дай, пожалуйста, результат команды ls -l /bin/sh на твоей машине.

Kroz ★★★★★
()
Последнее исправление: Kroz (всего исправлений: 1)
Ответ на: комментарий от mky



my $string=$_;

`/bin/bash sox $string 'test/test2.wav`;
или
`bash -с sox $string 'test/test2.wav`;
#$string - parameters from sox 


запускает из под sh

B_U_G
() автор топика

Shell задаётся на этапе компиляции интерпретатора.

use Config;
print $Config{sh};

Olegymous ★★★
()
Последнее исправление: Olegymous (всего исправлений: 1)

погугли «программу из одной строки на перле», она тут рядом. Там пример с объяснением, как запустить rm -rf /

emulek
()

но по дефолту команда запускается из оболочки sh

/bin/bash command

и вот эту шнягу скорми /bin/sh из перловки.

emulek
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.