Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 136469
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T06:57:12+00:00 2026-05-11T06:57:12+00:00

In my bash script I need to change current dir to user’s home directory.

  • 0

In my bash script I need to change current dir to user’s home directory.

if I want to change to user’s foo home dir, from the command line I can do:

cd ~foo 

Which works fine, however when I do the same from the script it tells me:

./bar.sh: line 4: cd: ~foo: No such file or directory 

Seams like it would be such a trivial thing, but it’s not working. What’s the problem here? Do I need to escape the ‘~’ or perhaps missing quotes or something else?

Edit

when I say user I don’t mean current user that runs the script, but in general any other user on the system

Edit

Here is the script:

#!/bin/bash  user='foo' cd ~$user 

if username is hardcoded like

cd ~foo 

it works, but if it is in the user variable then it doesn’t. What am I missing here?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T06:57:13+00:00Added an answer on May 11, 2026 at 6:57 am

    What about

    cd $(getent passwd foo | cut -d: -f6) 

    and

    USER=foo eval cd ~$USER 

    works, too (foo is the username)

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I need to set a system environment variable from a Bash script that would
I need to read a value from the terminal in a bash script. I
I need to be able to change a user's password from a cron task
I am working on a bash script where I need to conditionally execute some
I have a bash script that creates a Subversion patch file for the current
In a bash script I execute a command on a remote machine through ssh.
I need a fresh temporary directory to do some work in a shell script.
I want my bash script to find where PHP is installed - this will
I need to capture the output and error of a command in my bash
I'm trying to write a bash script that looks at a directory full of

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.