我需要使用shell在子目录中运行make file_name
命令
脚本,然后cd ..
离开该子目录,并在主目录中运行其余命令。
答案 0 :(得分:2)
您可以从父目录运行make
,而无需先切换到子目录:
make -C subdir file_name
答案 1 :(得分:1)
假设脚本最初在“主目录”中运行,只需将cd转到子外壳中的子目录即可。例如
#!/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 ..
,但是子shell通常是最干净的解决方案。