while IFS=: read a b c d e f;do
echo sqlplus -sl dbsnmp/Or8cle@\"$c:$d/$b\"
done < aaa.log
Я считаю, что вы ищете вариант -s
. С помощью -s
вы можете передавать аргументы сценарию.
В качестве фиктивного примера, чтобы проиллюстрировать это:
$ echo 'echo 1=$1' | bash -s -- Print
1=Print
Здесь вы можете видеть, что скрипту, предоставленному на stdin, задан позиционный параметр Print
. Ваш скрипт принимает аргумент -u UUID
, который также может быть адаптирован:
$ echo 'echo arguments=$*' | bash -s -- -u UUID print
arguments=-u UUID print
Итак, в вашем случае:
curl -fsSL http://git.io/vvZMn | bash -s -- print
Или,
curl -fsSL http://git.io/vvZMn | bash -s -- -u UUID print
Как указал Стивен Харрис, загрузка скрипта и его выполнение , невидимое зрение, является проблемой безопасности.
Если в вашей системе есть / dev / stdin
, вы можете использовать
$ echo 'echo 1=$1' | bash /dev/stdin print
1=print
Do not do this:
$ echo 'echo 1=$1' | bash /dev/stdin -- print
1=--
Если вы хотите использовать -
, сделайте следующее:
$ echo 'echo 1=$1' | bash -- /dev/stdin print
1=print