我正在尝试调整我为监视器布局脚本找到的code。
...
while read l
do
dir=$(dirname $l);
status=$(cat $l);
dev=$(echo $dir | cut -d\- -f 2-);
if [ $(expr match $dev "HDMI") != "0" ]
...
根据Bash手册页:分号可以是元字符或控制操作符。
我理解元字符用法是针对同一行上的连续命令。在这种情况下,它是否被用作控制操作员?我之前没有用过这种方式,脚本在没有它的情况下运行。我不想在不理解其目的的情况下删除或保留它。
答案 0 :(得分:1)
不,在这种情况下你不需要分号。如果在一行上有多个命令,则需要在bash中使用分号。下面是bash中经常使用分号以使其更具可读性的示例:
if [ $a -gt 12 ]; then
您在此处看到,if
和then
是两个不同的命令,但您可以使用分号将它们放在同一行上,这使得我认为代码更易于阅读。
答案 1 :(得分:1)
可能一直在进行一些思考过程
但在这种情况下,您需要在while
和if
行的末尾添加其他分号才能使其正常工作。
所以,不,他们没有任何目的,而不是相关程序员的坏习惯。
答案 2 :(得分:0)
根据@ anubhava对问题的评论"
没有明显的理由......