我有一个有shell命令的文件 例如:test
我需要将其作为
运行#test
而不是#./test
任何人都请帮忙!
答案 0 :(得分:2)
其中没有/
的命令将作为
PATH是一个环境变量,它包含以冒号分隔的路径列表,其中shell或某些exec系统函数搜索可执行文件。
PATH=$PWD:$PATH
预先安装当前目录,使测试可执行文件可运行。
(正如hek2mgl提到的那样,出于安全原因,附加通常要好得多,因为您通常不希望用户可写路径覆盖已经成为PATH一部分的写保护路径 - 尽管您确实需要它这种情况,因为test
已经是系统级可执行文件了
然而,仍然会在test
shell内置之前。
因此,您应该将其命名为test
以外的其他内容,或者在修改PATH后使用$(which test)
来绕过内置函数。
在shell中,您还可以将其作为调用完整路径的函数(或别名)。这不会产生很多不良安全隐患。
注意:强>
$PWD
是当前目录的绝对路径。您还可以使用.
(或其他相对路径),使PATH"更改"和cd
一样,但出于安全原因,这被认为是一种不好的做法。