Как мне получить путь или каталог моего текущего выполняющегося скрипта в CSI?
Каков наилучший способ получить путь моего сценария из сценария CSI? Я хочу, чтобы мой сценарий был #load
редактируется из скрипта, работающего в другом каталоге, и все же получает доступ к своему собственному каталогу и не подвержен влиянию рабочего каталога. Я не могу найти ничего похожего на nodejs __dirname
постоянная в документах.
1 ответ
В настоящее время я могу найти лучший способ выяснить каталог исполняемого скрипта в данный момент. Интересно, есть ли какой-нибудь ярлык / встроенный, о котором я не знаю, но здесь идет:
GetMineDirectory.csx
:
#!/usr/bin/env csi
using System;
using System.IO;
using System.Runtime.CompilerServices;
static string GetMyPath(
[CallerFilePath] string path = "")
=> path;
// Do not write in terms of GetMyPath() in case we are called from another script.
static string GetMyDirectory(
[CallerFilePath] string path = "")
=> Path.GetDirectoryName(path);
Console.WriteLine($"My full path is {GetMyPath()}");
Console.WriteLine($"My directory is {GetMyDirectory()}");