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

后端 未结 2 1900
春和景丽
春和景丽 2020-12-10 13:45
pathname=$(cat $HOME/.rm.cfg)
if [ ! -z $pathname/$1 ]

.rm.cfg is a file that contains the following directory

2条回答
  •  执念已碎
    2020-12-10 13:54

    Looks like your $pathname includes more than one word. Could be multiple lines in your .rm.cfg file, or perhaps the path includes spaces. Anyway, you end up with

    if [ ! -z word word word/$1 ]
    

    which is no good. If you're just expecting a single path and want to protect against the path containing whitespace, change your if line to

    if [ ! -z "$pathname/$1" ]
    

提交回复
热议问题