Linux下的make命令使用问题
分开操作make再makeinstall和make&&make&&install有什么不同呢?...
分开操作make 再make install
和
make && make && install
有什么不同呢? 展开
和
make && make && install
有什么不同呢? 展开
4个回答
展开全部
make && make && install
这行命令是错的。
应该是
make && make install
&& 是命令之间的连接符,他的作用是如果前面的命令成功,那么就执行后面的命令。
也就是说,这个
make && make install
当 make 执行成功后,继续执行 make install 。
这对于手工操作 make 再 make install 是一个意思,除非你 make 后明知道出错,依然去执行 make install 。
题外:
不光 && ,我知道的还有 ; 和 || 可以用。(别的还有什么我就不知道鸟……)
; 来分开两个命令的话,是不管前面是不是成功,都要继续执行后面的命令。
|| 记得是和 && 相反,只有前面的命令执行失败,才执行后面的命令。
这行命令是错的。
应该是
make && make install
&& 是命令之间的连接符,他的作用是如果前面的命令成功,那么就执行后面的命令。
也就是说,这个
make && make install
当 make 执行成功后,继续执行 make install 。
这对于手工操作 make 再 make install 是一个意思,除非你 make 后明知道出错,依然去执行 make install 。
题外:
不光 && ,我知道的还有 ; 和 || 可以用。(别的还有什么我就不知道鸟……)
; 来分开两个命令的话,是不管前面是不是成功,都要继续执行后面的命令。
|| 记得是和 && 相反,只有前面的命令执行失败,才执行后面的命令。
展开全部
打错了罢? 是make && make intall
&& 是 shell 的逻辑 and (和), 如果前面的命令执行失败,(true or flase)
退出状态不是 0 , 就不会执行后面的命令 ,
最后命令的退出状态会在 shell 默认变量 $? 找到, 例
nc10@your-5554c55be4 ~
$ ls
Mail/ doc/ hh* matrix/ sign.dat trash
News/ ee* junk numsorted* socket.awk* ttt.awk*
bin/ ex30.sh* lib/ pp* software/
crack_allword.txt hex2dec.awk lynx.cfg sign tmp/
nc10@your-5554c55be4 ~
$ test -f "pp" && echo "yes, you have it"
yes, you have it
nc10@your-5554c55be4 ~
$ echo $?
0
nc10@your-5554c55be4 ~
$ test -f "lllll" && echo "yes, you have it"
nc10@your-5554c55be4 ~
$ echo $?
1
nc10@your-5554c55be4 ~
$
第二次执行测试文件 lllll,没有这文件, test名令执行失败,
( 条件为假(flase)), 随后的命令就不执行
nc10@your-5554c55be4 ~
$ test -f "lllll" ; echo "yes, you have it"
yes, you have it
nc10@your-5554c55be4 ~
$
分开两个命令,那不管前面执行如何,随后的还是会执行
如果分成两 make ; make install, 那make编译有错误的话,还是会照样
install , 但安装的程序不能用哦.
Is that clear? :)
&& 是 shell 的逻辑 and (和), 如果前面的命令执行失败,(true or flase)
退出状态不是 0 , 就不会执行后面的命令 ,
最后命令的退出状态会在 shell 默认变量 $? 找到, 例
nc10@your-5554c55be4 ~
$ ls
Mail/ doc/ hh* matrix/ sign.dat trash
News/ ee* junk numsorted* socket.awk* ttt.awk*
bin/ ex30.sh* lib/ pp* software/
crack_allword.txt hex2dec.awk lynx.cfg sign tmp/
nc10@your-5554c55be4 ~
$ test -f "pp" && echo "yes, you have it"
yes, you have it
nc10@your-5554c55be4 ~
$ echo $?
0
nc10@your-5554c55be4 ~
$ test -f "lllll" && echo "yes, you have it"
nc10@your-5554c55be4 ~
$ echo $?
1
nc10@your-5554c55be4 ~
$
第二次执行测试文件 lllll,没有这文件, test名令执行失败,
( 条件为假(flase)), 随后的命令就不执行
nc10@your-5554c55be4 ~
$ test -f "lllll" ; echo "yes, you have it"
yes, you have it
nc10@your-5554c55be4 ~
$
分开两个命令,那不管前面执行如何,随后的还是会执行
如果分成两 make ; make install, 那make编译有错误的话,还是会照样
install , 但安装的程序不能用哦.
Is that clear? :)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
执行的结果完全一样。
就像3+5=8;3+2+3也=8一样。
愿意怎么写都行。
就像3+5=8;3+2+3也=8一样。
愿意怎么写都行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一样的,make && make && install 就是一步步的在操作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询