LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1000|回复: 5

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

[复制链接]
发表于 2008-7-25 01:25:21 | 显示全部楼层 |阅读模式
问题关键:“&&”的使用!

设置网络的静态地址

代码:
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




麻烦帮忙细说下,谢谢了!
发表于 2008-7-25 08:51:55 | 显示全部楼层
可以这样分开写,,这样操作的结果是一样的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-25 09:25:22 | 显示全部楼层
麻烦大家说全点啊?
我迷糊了啊!
回复 支持 反对

使用道具 举报

发表于 2008-7-25 12:15:43 | 显示全部楼层
command a && command b   只有a命令正确执行完毕后 才会继续执行b命令

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


Post by gotounix;1878315
问题关键:“&&”的使用!

设置网络的静态地址

代码:
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




麻烦帮忙细说下,谢谢了!
回复 支持 反对

使用道具 举报

发表于 2008-7-25 19:18:57 | 显示全部楼层
小Tips:这个&&经考证,源自C语言的逻辑运算符。它的含义是:如果两个操作数都表示正确,则返回正确,否则返回错误。但是C语言里这个运算符有短路语义,也就是说,如果第一个操作数错误,则不再执行第二个。

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

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

使用道具 举报

发表于 2008-7-25 19:26:16 | 显示全部楼层
man bash 搜索 &&
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表