以下内容:
Roberts-MacBook-Pro:Code robertnash$ mkdir Flag
Roberts-MacBook-Pro:Code robertnash$ cd Flag/
Roberts-MacBook-Pro:Flag robertnash$ swift package init --type executable
Roberts-MacBook-Pro:Flag robertnash$ swift build
Compile Swift Module 'Flag' (1 sources)
Linking ./.build/debug/Flag
为了执行可执行文件,它必须是路径,如此
Roberts-MacBook-Pro:Flag robertnash$ .build/debug/Flag
Hello, world!
如果我去'Flag'所在的位置,只需输入'Flag'就无法运行该命令。
Roberts-MacBook-Pro:Flag robertnash$ cd .build
Roberts-MacBook-Pro:.build robertnash$ cd debug
Roberts-MacBook-Pro:debug robertnash$ Flag
-bash: Flag: command not found
它必须是一条道路,就像这样。
Roberts-MacBook-Pro:debug robertnash$ ./Flag
为什么?
答案 0 :(得分:0)
如果您运行DueDate Desc Amount
06-29-2015 ABC 100
DEF 200
01-15-2015 ABC 100
DEF 200
,那么它会将当前工作目录添加到您的路径中,您不会需要export PATH="$PATH:."
前缀。 (大多数(全部?)shell只接受一个没有点的尾随冒号,但我发现它更清楚它的作用。)
默认情况下,这不存在,因为它存在安全风险:恶意脚本可能被命名为路径中缺少的内容,例如./
或甚至是nmap
之类的拼写错误,并放在一个目录中,希望你运行它。强制你前缀sl
是避免这种情况的好方法。