ber*_*nie 4 linux script bash string-manipulation
我不知道如何在字符串(例如“user1”)前加上波浪号(~)来生成~user1并将其扩展到 user1 的主目录。
这是我现在所拥有的:
USER="user1"
ls ~${USER}
ls: cannot access ~user1: No such file or directory
Run Code Online (Sandbox Code Playgroud)
~user1没有被扩展。我怎样才能实现它?
这不起作用:
$ cat test.sh
USER="user1"
ls $(~$USER)
$ sh -x test.sh
+ USER=user1
+ ~user1
test.sh: 1: ~user1: not found
+ ls
test.sh
Run Code Online (Sandbox Code Playgroud)
如果您的用户目录不是简单的/home/user,您可以eval在您的脚本(源)中使用:
USER_HOME=$(eval echo ~${USER})
echo ${USER_HOME}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2743 次 |
| 最近记录: |