binary operator expected error when checking if a file with full pathname exists

unix

Solution

I had faced the same error (binary operator expected) when receiving more than one word for some variable when using it as shown below:

if [ ! -z ${variable} ];

So to resolve this error I changed it to:

if [[ ! -z ${variable} ]];

Problem

``` pathname=$(cat $HOME/.rm.cfg) if [ ! -z $pathname/$1 ] ``` `.rm.cfg` is a file that contains the following directory /home/username/deleted1 `$1` is the name of a file eg. glass why does the line if `[ ! -z $pathname/$1 ]` give a binary operator expected error.

Original source

Related problems