Запустите make file в подкаталоге, используя скрипт оболочки - PullRequest
0 голосов
/ 30 мая 2019

Мне нужно запустить команду make file_name в подкаталоге с помощью сценария оболочки, а затем cd .. из этого подкаталога и запустить оставшиеся команды в главном каталоге.

Ответы [ 2 ]

2 голосов
/ 30 мая 2019

Вы можете запустить make из родительского каталога, не переключаясь сначала на подкаталог:

make -C subdir file_name
1 голос
/ 30 мая 2019

Предполагая, что скрипт изначально выполняется в «главном каталоге», просто перейдите к подкаталогу в подоболочке.например,

#!/bin/sh

# do stuff in main directory
( cd subdir; make file_name ) # use a subshell 
# now run more commands in the main directory

Вы также можете использовать pushd и popd, или попытаться сохранить $(pwd), или просто использовать cd .., но подоболочка обычно является самым чистым решением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...