Как создать файл с помощью функции cat в сценарии Bash - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь создать функцию, которая позволяет мне отправлять две переменные. Мой код:

#!/bin/bash
function myfunc{
cat > file.xml << EOFcat
<hostdev mode='subsystem' type='usb' managed='yes'>
<source>
<vendor id='0x$1'/>
<product id='0x$2'/>
</source>
</hostdev>
EOFcat
}
trigger="191a:8003";
vID=$(lsusb | grep $trigger | cut -d ':' -f2 | cut -d ' ' -f3)
pID=$(lsusb | grep $trigger | cut -d ':' -f3 | cut -d ' ' -f1)
echo "vID=$vID"
echo "pID=$pID"
myfunc ($vID $pID);

вышлите мне ошибку:

./script3.bash: line 3: syntax error near unexpected token `cat'
./script3.bash: line 3: `cat > file.xml << EOFcat'

Если я не ошибаюсь, это означает, что я не могу использовать 'cat' внутри функции.

Итак, возникает вопрос: можно ли написать функцию, которая позволит вам создать файл XML с переданными параметрами внутри?

1 Ответ

0 голосов
/ 01 ноября 2018

, даже если доступно в bash, function не является необходимым, и BTW не является стандартным

Декларация, вероятно, должна быть

myfunc () {

и звонить им не нужно:

myfunc "$vID" "$pID"
...