我一直在研究一个小脚本,它可以打开 gedit 或我的 Linux 框中的任何编辑器,以编辑PATH
变量中包含的文件夹中的另一个脚本。
我正在使用which
查找脚本的路径,以便我可以将路径提供给编辑器并开始编辑该脚本。脚本的名称显然是脚本的第一个参数。
问题是which
当它作为另一个脚本的第一个参数给出时找不到脚本,但如果我直接使用它会找到路径。
这是一个更清楚的例子。
which script.sh
prints "/home/bla/bla/script_folder/script.sh
但如果我在这样的脚本中使用它:
echo "ScriptPath: $(which 1)"
echo "ScriptName: $1"
由于某些奇怪的原因,这将不起作用。我确实知道参数 1 中使用的脚本的位置在我的 PATH 变量中可用。Echo
我给它时不会打印任何东西$(which 1)
,假设$1
是我正在寻找的脚本的名称。我不知道为什么会这样。然后我决定将脚本的名称放在一个变量中,然后使用它来查找新变量包含的任何内容(在我的情况下是脚本的名称),但它也不起作用。
前任:
scriptName="$1"
echo "$(which scriptName)"
This won't work either.
Such a simple thing, and I cannot make it work for some weird reason. Any ideas why this is not working?