0

I am currently building a project in a (Singularity) container, and one of the dependencies is the FBX SDK (for building Qt static).

The problem is that the installer of FBX reads the licence conditions and then asks to confirm those, and as the installation by recipe don't allow me answer manually, it produces an endless repetition of the lines

To continue installing the software, you must agree
to the terms of the software license agreement.

Type "yes" to agree and continue the installation. Agree [yes/no] ? 

Now I did some research into how to auto confirm such things and found How do I script a "yes" response for installing programs?.

Given the answers there, I tried the following lines:

yes | ./fbx20190_fbxsdk_linux
yes Y | ./fbx20190_fbxsdk_linux
echo yes | ./fbx20190_fbxsdk_linux

(Second line just in case, as the installer clearly wants a "yes".)

None of those worked. Is there some other trick I could try? Or another way to install FBX?

(Note: the lines above do at least something, that is they automatically confirm File(s) will be extracted to: . Please confirm [y/n] ?)

Aziuth
  • 2,768
  • 1
  • 11
  • 25
  • 1
    (Not sure if I'd be better of asking this question on SuperUser.) – Aziuth Sep 21 '20 at 11:47
  • 1
    Did you also try `yes yes | ./fbx20190_fbxsdk_linux`? – Thomas Sep 21 '20 at 12:12
  • @Thomas That did the trick, thanks. I originally thought that the `yes` command would answer to every request rather than just to one. – Aziuth Sep 21 '20 at 12:27
  • It does, but as you stated yourself in the question, `the installer clearly wants a "yes"` - out of the box, the `yes` command only offers a `y`. – Thomas Sep 21 '20 at 12:31

1 Answers1

1

...as the installer clearly wants a "yes"

In that case, try this:

yes yes | ./fbx20190_fbxsdk_linux

By default, the yes command does not send "yes" to the subsequent process, only y. You can override this behavior by giving a command line parameter as you did in your second attempt above. However, there you inokved it as yes Y which does not send a "yes" either, it sends Y.

The parameter to yes must be the string that you want to send to ./fbx20190_fbxsdk_linux, hence yes yes.

Thomas
  • 15,988
  • 4
  • 41
  • 69