Seu código está quebrado de duas maneiras ...
-
Defina uma variável com o nome
variable
e, em seguida, chame-a com o nomevar
. Isso não vai funcionar. -
Eu não consigo entender o que você estava tentando realizar com a variável, porque a citação é muito maluca. O interpretador terá mais problemas do que eu fiz ;-) Na verdade, você está enviando uma string que se parece com um conjunto de comandos incluindo um pipeline - mas como eles estão dentro de uma string citada como um argumento para outro comando, eles só vai se deparar com tantos caracteres em uma bolha de texto como um argumento. Não é algo que o intérprete vai tocar.
Talvez você queira algo assim em seu arquivo test.ksh
:
#!/bin/ksh
log_file="/logs/filename.long"
tail -f $log_file | awk '!(/list)'
Ou até mesmo isso que você executaria com um comando como ./test.ksh /logs/filename.log
:
#!/bin/ksh
tail -f $1 | awk '!(/list)'