Muszę robić coś głupiego, ale nie mogę odzyskać obecnej nazwy użytkownika przy użyciu Julii. Najbliższa funkcja w Base
wygląda na gethostname()
, ale zwraca nazwę komputera, a nie nazwę użytkownika. Próbowałem wywołań systemowych, ale mam problemy z powodu charakteru interpolacji $
. Konkretnie, chociaż echo $USER
zwraca odpowiednią nazwę użytkownika w terminalu, gdy próbuję następujących w Julia uzyskać różne błędy lub błędne odpowiedzi:Zdobądź aktualną nazwę użytkownika w Julia (Linux)
run(`echo $USER`)
run(`echo "$USER"`)
run(`echo '$USER'`)
run(`echo '$'USER`)
run(`echo \$USER`)
Myślę, że problemem jest to, że Julia
jest błędnej wykładni $
jako interpolacji, ale Nie mam pojęcia, jak sobie z tym poradzić.
Wszelkie pomysły?
Brilliant. Podejście "ENV [" UŻYTKOWNIK "] jest zdecydowanie najlepszym rozwiązaniem. Na wszelki wypadek, czy masz szansę skomentować, co dzieje się nie tak z moim podejściem "echo $ USER"? Tak czy siak, + 1 + Tick (tak szybko, jak SO pozwala mi). –
'run' nie uruchamia powłoki; a powłoka jest potrzebna do interpolacji zmiennych środowiskowych. 'run' będzie interpolować zmienne * Julia * w sposób podobny do powłoki. Czytaj więcej [tutaj] (http://julia.readthedocs.org/en/latest/manual/running-external-programs/). – Amadan