może ci się to wydawać dziwne, ale chcę uruchomić polecenie w określonym folderze bez zmiany bieżącego folderu w powłoce. Przykład - zwykle tak robię:
~$ cd .folder
~/.folder$ command --key
~/.folder$ cd ..
~$ another_command --key
Chociaż chcę coś takiego:
~$ .folder command --key
~$ another_command --key
Czy to możliwe?
bash
command-line
scripts
Timur Fajzrakhmanov
źródło
źródło
~/.folder/command --key
? Czycommand
wymaga to twojego aktualnego katalogu~/.folder
?Odpowiedzi:
Jeśli chcesz uniknąć drugiego
cd
, możesz użyćźródło
;
TO&&
środek na dobre. Jeśli cd nie powiedzie się (np. Ponieważ wpisałeś nazwę katalogu), prawdopodobnie nie chcesz uruchomić polecenia.Bez
cd
... ani razu. Znalazłem dwa sposoby:i drugi:
źródło
Prosta funkcja bash do uruchomienia polecenia w określonym katalogu:
Stosowanie:
źródło
Musiałem to zrobić w bezproblemowy sposób i zdziwiłem się, że nie ma narzędzia (podobnego do
env(1)
lubsudo(1)
uruchamiającego polecenie w zmodyfikowanym katalogu roboczym. Napisałem więc prosty program w C, który to robi:Użycie jest takie:
źródło