![]() |
1
762
|
![]() |
3
208
对于所有UNIX/OSX/Linux
猛击
注意:命令中使用双破折号(-)表示命令选项的结束,因此包含破折号或其他特殊字符的文件不会中断命令。
对于Linux、Mac和其他*BSD:
注:
否则,您可以尝试类似的操作(它将使用第一个现有工具):
注意:您需要
在bash中可以使用 Parameter Expansions 为了达到这个目的,比如:
或者,您可以在bash中定义以下函数:
此函数接受1个参数。如果参数已经有绝对路径,则按原样打印,否则按原样打印
相关:
另请参见: |
![]() |
4
82
|
![]() |
5
8
公认的答案适用于没有在其他地方进行符号链接的脚本,如into
这将把cd放入
symlink安全答案如下:
需要引号来支持可能包含空格的文件路径(不好的做法,但假设不是这样是不安全的) |
![]() |
6
4
这个剧本似乎对我很有用:
|
![]() |
7
2
获取脚本的真实路径
(这是我在这里提出的同一个问题的答案: Get the name of the directory where a script is executed |
![]() |
8
2
我拿着这个就行了。
|
![]() |
9
1
|
![]() |
10
0
大多数答案要么不处理通过相对路径进行符号链接的文件,要么不是一行程序,要么不处理BSD(Mac)。解决这三个问题的方法是:
首先,将cd转换为bash对脚本目录的概念。然后readlink文件查看它是否是一个符号链接(相对的或其他的),如果是,cd到那个目录。如果没有,cd到当前目录(保持一行的东西是必要的)。然后通过
你可以加上
https://www.binaryphile.com/bash/2020/01/12/determining-the-location-of-your-script-in-bash.html |
![]() |
11
-5
PWD是一个环境变量。 |
![]() |
12
-7
如果您只需要打印当前的工作目录,那么您可以按照以下步骤操作。
然后执行脚本
|
|
noGodHere · Python使用错误的路径写入文件 1 年前 |
![]() |
Giao Lê · SDL2库的资源路径 2 年前 |
![]() |
benroths · PyQt5/Python3参考qss文件 2 年前 |
![]() |
Kenny · 如何使用路径中的变量编写vba 6 年前 |