加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 在shell脚本中将脚本目录更改为用户的homedir

发布时间:2020-12-13 19:24:45 所属栏目:Linux 来源:网络整理
导读:在我的bash脚本中,我需要将当前目录更改为用户的主目录. 如果我想更改为用户的foo home目录,我可以从命令行执行: cd ~foo 哪个工作正常,但是当我从脚本中做同样的事情时它会告诉我: ./bar.sh: line 4: cd: ~foo: No such file or directory 像这样的接缝会

在我的bash脚本中,我需要将当前目录更改为用户的主目录.

如果我想更改为用户的foo home目录,我可以从命令行执行:

cd ~foo

哪个工作正常,但是当我从脚本中做同样的事情时它会告诉我:

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

像这样的接缝会是如此微不足道的事情,但它不起作用.这有什么问题?我是否需要逃避“?”或可能缺少引号或其他内容?

编辑

当我说用户时,我不是指当前运行脚本的用户,而是通常系统上的任何其他用户

编辑

这是脚本:

#!/bin/bash

user="foo"
cd ~$user

如果用户名是硬编码的

cd ~foo

它可以工作,但如果它在用户变量中,那么它不会.我在这里错过了什么?

最佳答案
关于什么

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

USER=foo
eval cd ~$USER

也工作(foo是用户名)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读