Я хотел бы выпустить команду, доступную в моей текущей оболочке (где я запускаю мой сценарий bash). Поскольку это прямо сейчас, если я поместил команду uecap в мой сценарий bash, как есть. Сценарий завершается с ошибкой. Команда uecap не найдена.Выполнить команду из текущего терминала в сценарии bash
Хотя, если я выдаю команду uecap непосредственно из текущей оболочки, она отлично работает.
Моя текущая оболочка находится в отдельном процессе с ее собственным идентификатором процесса.
вот моя Баш оболочки в качестве примера:
#!/bin/sh
while read i
do
cid=`echo "$i" | cut -b1`
rid=`echo "$i" | cut -b9-18`
rm -rf $1_TEMP
uecap -r rid -c cid
done < $1ID.log
Как я запустить скрипт Баш, выполнив эту команду:
!./bashscript $node.
В то же нет, то есть способ запустить команду, используя другой процесс из вашего сценария bash?
Что такое 'uecap' и где он находится? – bansi
Он находится в другом процессе. Это специальная команда, связанная с другим процессом оболочки. Я запускаю скрипт bash из этой оболочки. Не уверен, что это устранит двусмысленность, но подумайте об этом как telnet в маршрутизаторе, а затем запустите скрипт bash. Я могу запустить сценарий bash (находясь на сервере), но я не уверен, как использовать команды telnet в моем сценарии bash. – nader
, если вы хотите запустить команду в качестве другого пользователя, вы можете использовать [sudo] (http://linux.die.net/man/8/sudo) – bansi