更改后如何在 ~/bin/script_name 中重新加载 Bash 脚本?

a.t*_*.t. 2 command-line bash

语境

使用以下命令将脚本导出到~/bin/script_nameCLI 并在任意位置成功运行该脚本后script_name,我更新了脚本的内容。但是,此更新并未反映在行为中。

旧内容:

#!/bin/bash
echo "Old world"
Run Code Online (Sandbox Code Playgroud)

新内容:

#!/bin/bash
echo "Hello world"
Run Code Online (Sandbox Code Playgroud)

我保存了文件,然后重新打开它,它显示了新内容。

预期输出:

Hello world
Run Code Online (Sandbox Code Playgroud)

实际输出:

Old world
Run Code Online (Sandbox Code Playgroud)

问题

~/bin/script_name当我使用以下命令从任意位置调用它时,如何确保使用更新的内容: script_name

尝试

首先,我尝试关闭并重新打开终端。然后我尝试重新启动,两者都显示出相同的、意想不到的(对我来说)行为。

附加信息

Ubuntu 22.10,内容$PATH为:

/home/name/miniconda/envs/snncompare/bin:/home/name/miniconda/condabin:/home/name/.local/bin:/home/name/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
Run Code Online (Sandbox Code Playgroud)

Art*_*ild 8

/home/name/.local/bin/script_name您有一份未更新的脚本副本。该脚本的变体首先在路径中找到。

因此,当您从任意位置运行它时,您会得到旧脚本。

从此位置删除脚本:

rm /home/name/.local/bin/script_name
Run Code Online (Sandbox Code Playgroud)

并且只将您的脚本放在一个位置。否则,你会给自己制造混乱。