+ -
当前位置:首页 → 问答吧 → LFS快结束时的一个问题。麻烦了!

LFS快结束时的一个问题。麻烦了!

时间:2008-07-25

来源:互联网

问题关键:“&&”的使用!

设置网络的静态地址

代码:
cd /etc/sysconfig/network-devices &&
mkdir -v ifconfig.eth0 &&
cat > ifconfig.eth0/ipv4 << "EOF"
ONBOOT=yes
SERVICE=ipv4-static
IP=192.168.1.1
GATEWAY=192.168.1.2
PREFIX=24
BROADCAST=192.168.1.255
EOF
这段话前面三句是不是应该合成一句写啊,像下面这样:

cd /etc/sysconfig/network-devices && mkdir -v ifconfig.eth0 && cat > ifconfig.eth0/ipv4 << "EOF"

还是可以像下面这样分开来写:

cd /etc/sysconfig/network-devices
mkdir -v ifconfig.eth0
cat > ifconfig.eth0/ipv4 << "EOF"
也就是把&&去掉了。

最后的结果是不是在/etc/sysconfig/network-devices/ifconfig.eth0/文件夹里有个ipv4的文件,内容是:
ONBOOT=yes
SERVICE=ipv4-static
IP=192.168.1.1
GATEWAY=192.168.1.2
PREFIX=24
BROADCAST=192.168.1.255




麻烦帮忙细说下,谢谢了!

作者: gotounix   发布时间: 2008-07-25

可以这样分开写,,这样操作的结果是一样的。

作者: tiansm   发布时间: 2008-07-25

麻烦大家说全点啊?
我迷糊了啊!

作者: gotounix   发布时间: 2008-07-25

command a && command b 只有a命令正确执行完毕后 才会继续执行b命令

你给的两种方法都是可以的。但是没有“&&”会没有办法避免执行过程中误操作导致的错误。因为没有&&来判断上一条命令是否正确执行完毕。


引用:
作者: gotounix
问题关键:“&&”的使用!

设置网络的静态地址

代码:
cd /etc/sysconfig/network-devices &&
mkdir -v ifconfig.eth0 &&
cat > ifconfig.eth0/ipv4 << "EOF"
ONBOOT=yes
SERVICE=ipv4-static
IP=192.168.1.1
GATEWAY=192.168.1.2
PREFIX=24
BROADCAST=192.168.1.255
EOF
这段话前面三句是不是应该合成一句写啊,像下面这样:

cd /etc/sysconfig/network-devices && mkdir -v ifconfig.eth0 && cat > ifconfig.eth0/ipv4 << "EOF"

还是可以像下面这样分开来写:

cd /etc/sysconfig/network-devices
mkdir -v ifconfig.eth0
cat > ifconfig.eth0/ipv4 << "EOF"
也就是把&&去掉了。

最后的结果是不是在/etc/sysconfig/network-devices/ifconfig.eth0/文件夹里有个ipv4的文件,内容是:
ONBOOT=yes
SERVICE=ipv4-static
IP=192.168.1.1
GATEWAY=192.168.1.2
PREFIX=24
BROADCAST=192.168.1.255




麻烦帮忙细说下,谢谢了!

作者: teccolin   发布时间: 2008-07-25

小Tips:这个&&经考证,源自C语言的逻辑运算符。它的含义是:如果两个操作数都表示正确,则返回正确,否则返回错误。但是C语言里这个运算符有短路语义,也就是说,如果第一个操作数错误,则不再执行第二个。

在bash里面这个运算符具有相同的行为。但是要把操作数换成“命令执行的结果”。

类似的还有运算符||,其含义是,如果第一个操作数正确,则不再往下执行,直接返回正确;否则结果由第二个操作数的执行结果决定。你可以在bash里面试试这个操作符!

作者: 地球发动机   发布时间: 2008-07-25

man bash 搜索 &&

作者: 聚焦深空   发布时间: 2008-07-25

热门下载

更多