遍历目录下所有的文件是目录还是文件
for file in ./* do if test -f $file then echo $file 是文件 fi if test -d $file then echo $file 是目录 fi done
filelist=`ls ./proto` echo $filelist for file in $filelist;do #不能有判断if [-f $file ] ,为什么?因为文件是在当前目录的proto目录下,我们filelist输出的是文件列表,没有带路径,-f x.proto x.proto不在当前目录,肯定为false,if永远为假,加上路径才能为true,if [ -f ./proto/$file ];then 这样就可以了。 #protoc -I=proto --cpp_out=cpp/ proto/ClientGate.proto protoc -I=proto --cpp_out=cpp/ proto/$file # protoc -I=proto -olua/$(basename $file .proto).pb proto/$file done ~ ~
protoc -I=$SRC_DIR --cpp_out=$DST_DIR $SRC_DIR/addressbook.proto
时间: 2024-10-27 02:50:27