AKS
AKS

Reputation: 17326

echo not echoing the value correctly - BASH Linux without double quotes

Can someone please point out what shenzie I could have done here?? PS: Restarting a new shell/session doesn't recreate this issue.

[trinley@linuxserversb12 2]$ echo $gradle_HOME
/home/gradle/gradle- .6
[trinley@linuxserversb12 2]$ echo "$gradle_HOME"
/home/gradle/gradle-1.6

[trinley@linuxserversb12 2]$ echo $gradle_HOME; cd $_
/home/gradle/gradle- .6
-bash: cd: .6: No such file or directory

[trinley@linuxserversb12 2]$ echo "$gradle_HOME"; cd $_
/home/gradle/gradle-1.6
-bash: cd: /home/gradle/gradle-: No such file or directory

[trinley@linuxserversb12 2]$ echo "$gradle_HOME"; cd "$_"
/home/gradle/gradle-1.6

[trinley@linuxserversb12 gradle-1.6]$ pwd
/home/gradle/gradle-1.6

[trinley@linuxserversb12 gradle-1.6]$ echo $gradle_HOME; cd "$_"
/home/gradle/gradle- .6
-bash: cd: .6: No such file or directory

Upvotes: 1

Views: 194

Answers (2)

AKS
AKS

Reputation: 17326

Setting IFS=" " solved the issue. It was not set to 1 or anything other than a newline char '\012'

IFS was set to newline character i.e.

[trinley@linuxserversb12 gradle-1.6]$ echo $IFS - "'$IFS'"
    - '\012'

Setting is back to a single space, solved the issue.

export IFS=" "
$ echo $GRADLE_HOME; cd $_; echo; pwd
/home/gradle/gradle-1.6

/home/gradle/gradle-1.6
$

Upvotes: 0

konsolebox
konsolebox

Reputation: 75488

Your IFS variable was set to 1or something that includes it. This causes word splitting to your variables that includes 1 as a separator.

Set it back with IFS=$' \t\n'.

Upvotes: 6

Related Questions