Может показаться странным, но я хочу запустить команду в определенной папке, не меняя текущую папку в оболочке. Пример - это то, что я обычно делаю:
~$ cd .folder
~/.folder$ command --key
~/.folder$ cd ..
~$ another_command --key
Хотя я хочу что-то вроде этого:
~$ .folder command --key
~$ another_command --key
Является ли это возможным?
bash
command-line
scripts
Тимур Файзрахманов
источник
источник
~/.folder/command --key
? Требуется лиcommand
ваш текущий каталог~/.folder
?Ответы:
Если вы хотите избежать второго,
cd
вы можете использоватьисточник
;
To&&
для хорошей меры. Если произойдет сбой компакт-диска (например, из-за того, что вы ввели имя каталога), вы, вероятно, не захотите запускать команду.Без
cd
... Ни разу. Я нашел два пути:и второе:
источник
Простая функция bash для запуска команды в определенном каталоге:
Использование:
источник
Мне нужно было сделать это без bash, и я был удивлен, что нет утилиты (похожей
env(1)
илиsudo(1)
выполняющей команду в измененном рабочем каталоге. Итак, я написал простую программу на C, которая делает это:Использование так:
источник