Pan*_*dya 5 command-line bash scripts home-directory
我们知道~
并$HOME
引用当前用户的主目录。(对我来说echo ~
= echo $HOME
= pandya
)。
但是我不能在 bash 脚本中使用它。这是一个简单的示例脚本:
#!/bin/bash
echo -n "Enter Directory Path:"
read dir1
cd $dir1
Run Code Online (Sandbox Code Playgroud)
但是执行的时候报错No such file or directory
如下:
$ ./script
Enter Directory Path:~/Desktop
./script: line 4: cd: ~/Desktop: No such file or directory
Run Code Online (Sandbox Code Playgroud)
如果/home/pandya
使用而不是~
,那么它正在工作。
同样的问题$HOME
。
因此,如何正确使用cd
与~
或$HOME
在这样的bash脚本?
您可以使用eval命令解决此问题:
#!/bin/bash
echo -n "Enter Directory Path:"
read dir1
eval cd "$dir1"
Run Code Online (Sandbox Code Playgroud)
因为在您的代码中$dir1
不会存储~/Desktop
但它会存储/home/user/Desktop
所以您可以使用 eval 命令。
在这里了解Eval命令
归档时间: |
|
查看次数: |
29378 次 |
最近记录: |