Failed command parameter "TSMSERVER" = "{line 1 of file "/opt/sni/unix

(imported topic written by SystemAdmin)

From within an action script of a fixlet, I run a perl script that creates a file /opt/sni/unix/etc/tsmserver with a single value of “TSMPRD0X” where X could be a number from 1 to 3

The file initially does NOT exist.

In the “show action info” of the fixlet reporting

wait sh -c “perl /opt/sni/unix/tools/tsmserver_lookup”

continue if {exist file “/opt/sni/unix/etc/tsmserver”}

Failed parameter “TSMSERVER” = “{line 1 of file “/opt/sni/unix/etc/tsmserver”}”

In the log for the log for the endpoint I get the following:

ActionLogMessage: (action 1143 ) Action signature verified

ActionLogMessage: (action 1143 ) Relevance substitution error.

ActionLogMessage: (action 1143 ) ending action

Is this failing due to the file not existing or something else???

(imported comment written by NoahSalzman)

A couple bits of troubleshooting you might try:

parameter “TSMSERVER” = “{lines of file “/opt/sni/unix/etc/tsmserver”}”

and

parameter “TSMSERVER” = “{line 1 of file “/opt/sni/unix/etc/tsmserver” as string}”

What OS is this Action running on?

(imported comment written by SystemAdmin)

Operating system is AIX, but fixlet will be used for AIX, Solaris, OEL, RHEL and SuSE

The command works fine in qna

The other thing I believe is happening here is that bigfix evaluates the action script before running it and since the file /opt/sni/unix/etc/tsmserver does not exist until the perl script creates it, before the “continue if…” command, the relevance fails… I cannot proceed if that file does not exist