在 bash 脚本中连接目录路径时出错

Max*_*gal 6 command-line bash scripts

我有一个简单的 bash 文件,想执行一个 cd 命令:

#!/bin/bash
dir_path="~/Desktop/param_bind_b"
cd $dir_path
Run Code Online (Sandbox Code Playgroud)

出于某种原因,当我尝试在终端中运行此脚本时,出现此错误:

student@ubuntu:~$ openptv_current_install.bash /home/student/Desktop/scripts/openptv_current_install.bash: line 3: cd: ~/Desktop/param_bind_b: 没有那个文件或目录

当我cd ~/Desktop/param_bind_b“手动”运行命令时,它会按预期运行。

我在这里错过了什么?

hee*_*ayl 8

~当放在引号内时,波浪号 ( ) 不会被 shell 展开。只需删除引号:

#!/bin/bash
dir_path=~/Desktop/param_bind_b
cd "$dir_path"
Run Code Online (Sandbox Code Playgroud)