Linux shell编程学习笔记20:case ... esac、continue 和break语句

news2025/1/21 3:01:43

一、case ... esac语句说明

在实际编程中,我们有时会请到多条件多分支选择的情况,用if…else语句来嵌套处理不烦琐,于是JavaScript等语言提供了多选择语句switch ... case。与此类似,Linux Shell脚本编程中提供了case...in...esac 语句,来实现多条件多分支选择结构:其语法结构为:
 

case 变量名 in
值1[|值2……])
    命令1
    [...]
    [命令N]
    ;;

 [...]
值a[|值b……])
    命令a
    [...]
    [命令b]
    [break]
    ;;

[*)]

    [命令x]

    [...]
    [命令y]
esac

在每个 case 分支语句中,首先列出该分支对应的值(多个值之间用|分隔)并以半角右圆括号开始,然后列出要执行的语句或命令序列,最后用两个分号 ;; 表示该分支结束。

在把我们想处理的值列出来后,对于其它情况,在C和JavaScript等语言的switch语句中是用default:来表示的,在Matlab等语言的switch语句中是用otherwise来表示,在Linux shell编程中,是用下面的格式来表示的:

*)

case语句以 esac 结束,esac就是case的反序,这与if语句以fi结束相类。

其中的[]的内容是可选的。

二、break语句说明

在很多编程语言中,为了实现在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环而提供了break语句,Linux Shell脚本编程同样提供了break语句。
 

三、实例1(在一重无限循环中)

为了演示case ... esac、和break语句的功能和用法,我们将创建一个演示脚本文件:

while : 
 do
 echo -n "Please enter a nummber or letter: "
 read c
 case $c in 
   0|1|2|3|4|5|6|7|8|9) echo "You entered a nammber:$c"
   ;;
   a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo "You entered a lowercase letter: $c. Contine."
   ;;
  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo "You entered a capital letter:$c. Contine." 
   ;;
   *)  echo "You entered another character:$c \nGame over!"
     break;
   ;;
 esac
done

脚本文件的功能是:

通过while : 语句执行一个无限循环

在循环体中:

首先 用echo -n 命令显示提示信息:"Please enter a nummber or letter: ",其中 -n选项的作用是显示信息后不自动换行。

接着用read命令读取一个字符保存到变量c中

然后用case 语句对变量c保存的用户输入字符进行判断:

  1.    如果是0-9,就输出:You entered a nammber:,以及具体的字符,然后跳到循环体首部继续执行
  2.   如果是a-z,就输出:You entered a lowercase letter: ,具体的字符,及 Continue.,然后跳到循环体首部继续执行
  3.   如果是A-Z,就输出:You entered a capital letter: ,具体的字符,及 Continue.然后跳到循环体首部继续执行
  4.   如果输入的是不属于以上字符范围的其它字符,就输出:You entered another character:$c ",具体的字符,换行输出 Game over!,然后使用break语句跳出循环

下面我们分别在zsh和bash中测试  

(一)在zsh中

1.创建测试脚本a.sh

我们用 echo 和 输出重定向来创建。 

# csdn @ edu in ~ [20:01:21] 
$ echo 'while : ' > a.sh

# csdn @ edu in ~ [20:01:52] 
$ echo ' do' >> a.sh

# csdn @ edu in ~ [20:01:52] 
$ echo ' echo -n "Please enter a nummber or letter: "' >> a.sh

# csdn @ edu in ~ [20:01:52] 
$ echo ' read c' >> a.sh

# csdn @ edu in ~ [20:01:52] 
$ echo ' case $c in ' >> a.sh

# csdn @ edu in ~ [20:01:52] 
$ echo '   0|1|2|3|4|5|6|7|8|9) echo "You entered a nammber:$c"' >> a.sh

# csdn @ edu in ~ [20:01:52] 
$ echo '   ;;' >> a.sh

# csdn @ edu in ~ [20:01:52] 
$ echo '   a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo "You entered a lowercase letter: $c. Continue."' >> a.sh

# csdn @ edu in ~ [20:01:52] 
$ echo '   ;;' >> a.sh

# csdn @ edu in ~ [20:01:52] 
$ echo '  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo "You entered a capital letter:$c. Continue." ' >> a.sh

# csdn @ edu in ~ [20:01:52] 
$ echo '   ;;' >> a.sh

# csdn @ edu in ~ [20:01:52] 
$ echo '   *)  echo "You entered another character:$c \\nGame over!"' >> a.sh

# csdn @ edu in ~ [20:01:52] 
$ echo '     break;' >> a.sh

# csdn @ edu in ~ [20:01:52] 
$ echo '   ;;' >> a.sh

# csdn @ edu in ~ [20:01:52] 
$ echo ' esac' >> a.sh

# csdn @ edu in ~ [20:01:52] 
$ echo 'done' >> a.sh

# csdn @ edu in ~ [20:01:52] 

2. 用cat命令查看创建的测试脚本a.sh内容

# csdn @ edu in ~ [20:05:43] 
$ cat a.sh
while : 
 do
 echo -n "Please enter a nummber or letter: "
 read c
 case $c in 
   0|1|2|3|4|5|6|7|8|9) echo "You entered a nammber:$c"
   ;;
   a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo "You entered a lowercase letter: $c. Continue."
   ;;
  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo "You entered a capital letter:$c. Continue." 
   ;;
   *)  echo "You entered another character:$c \nGame over!"
     break;
   ;;
 esac
done

# csdn @ edu in ~ [20:05:47] 

3.执行测试脚本a.sh

# csdn @ edu in ~ [20:05:47] 
$ . ./a.sh
Please enter a nummber or letter: 3
You entered a nammber:3
Please enter a nummber or letter: 9
You entered a nammber:9
Please enter a nummber or letter: A 
You entered a capital letter:A. Continue.
Please enter a nummber or letter: x
You entered a lowercase letter: x. Continue.
Please enter a nummber or letter: b
You entered a lowercase letter: b. Continue.
Please enter a nummber or letter: Z
You entered a capital letter:Z. Continue.
Please enter a nummber or letter: D
You entered a capital letter:D. Continue.
Please enter a nummber or letter: *
You entered another character:* 
Game over!

# csdn @ edu in ~ [20:07:07] 
$  

 

我们依次输入字符3、9、A、x、b、z、D和*,当输入的字符是数字或字母时,循环继续,直到我们输入*,才跳出循环。

(二)在bash中

1.创建测试脚本a.sh

# csdn @ edu in ~ [20:07:07] 
$ exec bash
[csdn ~]$ echo 'while : ' > a.sh
[csdn ~]$ echo ' do' >> a.sh
[csdn ~]$ echo ' echo -n "Please enter a nummber or letter: "' >> a.sh
[csdn ~]$ echo ' read c' >> a.sh
[csdn ~]$ echo ' case $c in ' >> a.sh
[csdn ~]$ echo '   0|1|2|3|4|5|6|7|8|9) echo "You entered a nammber:$c"' >> a.sh
[csdn ~]$ echo '   ;;' >> a.sh
[csdn ~]$ echo '   a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo "You entered a lowercase letter: $c. Continue."' >> a.sh
[csdn ~]$ echo '   ;;' >> a.sh
[csdn ~]$ echo '  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo "You entered a capital letter:$c. Continue." ' >> a.sh
[csdn ~]$ echo '   ;;' >> a.sh
[csdn ~]$ echo '   *)  echo "You entered another character:$c \\nGame over!"' >> a.sh
[csdn ~]$ echo '     break;' >> a.sh
[csdn ~]$ echo '   ;;' >> a.sh
[csdn ~]$ echo ' esac' >> a.sh
[csdn ~]$ echo 'done' >> a.sh

2. 用cat命令查看创建的测试脚本a.sh内容

[csdn ~]$ cat a.sh
while : 
 do
 echo -n "Please enter a nummber or letter: "
 read c
 case $c in 
   0|1|2|3|4|5|6|7|8|9) echo "You entered a nammber:$c"
   ;;
   a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo "You entered a lowercase letter: $c. Continue."
   ;;
  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo "You entered a capital letter:$c. Continue." 
   ;;
   *)  echo "You entered another character:$c \\nGame over!"
     break;
   ;;
 esac
done
[csdn ~]$ 

3.执行测试脚本a.sh

[csdn ~]$ . a.sh
Please enter a nummber or letter: 4
You entered a nammber:4
Please enter a nummber or letter: A
You entered a capital letter:A. Continue.
Please enter a nummber or letter: d
You entered a lowercase letter: d. Continue.
Please enter a nummber or letter: D
You entered a capital letter:D. Continue.
Please enter a nummber or letter: /
You entered another character:/ \nGame over!
[csdn ~]$ 

 

 我们依次输入字符4、A、d、D和/,当输入的字符是数字或字母时,循环继续,直到我们输入/,才跳出循环。

(三)小结

通过上面的实例,可以看到:

1.zsh和bash对case ... esac和break语句都提供了支持。

2.;zsh和bash对字符串"\\n"的处理是不同的。如:

echo '   *)  echo "You entered another character:$c \\nGame over!"' >> a.sh

在zsh中生成的语句是:

 *)  echo "You entered another character:$c \nGame over!"

在bash中生成的语句是:

*)  echo "You entered another character:$c \\nGame over!"

这也导致zsh和bas在显示该行信息时存在一点差异。 

四、实例2(在双重无限循环中)

为了测试不同的shell中对break语句功能的支持程度是否存在不同。

我们在实例1的外面再加上一个while : 无限循环,看看用break语句能跳出几重循环。 

 (一)在zsh中

1.创建测试脚本a.sh

# csdn @ edu in ~ [19:00:42] 
$ echo 'while : ' > a.sh

# csdn @ edu in ~ [19:01:08] 
$ echo 'do' >> a.sh

# csdn @ edu in ~ [19:01:08] 
$ echo 'while : ' >> a.sh

# csdn @ edu in ~ [19:01:08] 
$ echo ' do' >> a.sh

# csdn @ edu in ~ [19:01:08] 
$ echo ' echo -n "Please enter a nummber or letter: "' >> a.sh

# csdn @ edu in ~ [19:01:08] 
$ echo ' read c' >> a.sh

# csdn @ edu in ~ [19:01:08] 
$ echo ' case $c in ' >> a.sh

# csdn @ edu in ~ [19:01:08] 
$ echo '   0|1|2|3|4|5|6|7|8|9) echo "You entered a nammber:$c"' >> a.sh

# csdn @ edu in ~ [19:01:08] 
$ echo '   ;;' >> a.sh

# csdn @ edu in ~ [19:01:08] 
$ echo '   a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo "You entered a lowercase letter: $c. Continue."' >> a.sh

# csdn @ edu in ~ [19:01:08] 
$ echo '   ;;' >> a.sh

# csdn @ edu in ~ [19:01:08] 
$ echo '  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo "You entered a capital letter:$c. Continue." ' >> a.sh

# csdn @ edu in ~ [19:01:08] 
$ echo '   ;;' >> a.sh

# csdn @ edu in ~ [19:01:08] 
$ echo '   *)  echo "You entered another character:$c \\nGame over!"' >> a.sh

# csdn @ edu in ~ [19:01:08] 
$ echo '     break;' >> a.sh

# csdn @ edu in ~ [19:01:08] 
$ echo '   ;;' >> a.sh

# csdn @ edu in ~ [19:01:08] 
$ echo ' esac' >> a.sh

# csdn @ edu in ~ [19:01:08] 
$ echo 'done' >> a.sh

# csdn @ edu in ~ [19:01:08] 

2. 用cat命令查看创建的测试脚本a.sh内容

# csdn @ edu in ~ [19:02:56] 
$ cat a.sh
while : 
do
while : 
 do
 echo -n "Please enter a nummber or letter: "
 read c
 case $c in 
   0|1|2|3|4|5|6|7|8|9) echo "You entered a nammber:$c"
   ;;
   a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo "You entered a lowercase letter: $c. Continue."
   ;;
  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo "You entered a capital letter:$c. Continue." 
   ;;
   *)  echo "You entered another character:$c \nGame over!"
     break;
   ;;
 esac
done
done

# csdn @ edu in ~ [19:03:56] 

3.执行测试脚本a.sh

# csdn @ edu in ~ [19:04:41] C:127
$ . ./a.sh
Please enter a nummber or letter: 3
You entered a nammber:3
Please enter a nummber or letter: 9
You entered a nammber:9
Please enter a nummber or letter: d
You entered a lowercase letter: d. Continue.
Please enter a nummber or letter: X
You entered a capital letter:X. Continue.
Please enter a nummber or letter: Y
You entered a capital letter:Y. Continue.
Please enter a nummber or letter: *
You entered another character:* 
Game over!
Please enter a nummber or letter: ^C%                                                                                                                                                            

# csdn @ edu in ~ [19:06:06] C:126

 

 (二)在bash中

1.创建脚本文件a.sh

[csdn ~]$ echo 'while : ' > a.sh
[csdn ~]$ echo 'do' >> a.sh
[csdn ~]$ echo 'while : ' >> a.sh
[csdn ~]$ echo ' do' >> a.sh
[csdn ~]$ echo ' echo -n "Please enter a nummber or letter: "' >> a.sh
[csdn ~]$ echo ' read c' >> a.sh
[csdn ~]$ echo ' case $c in ' >> a.sh
[csdn ~]$ echo '   0|1|2|3|4|5|6|7|8|9) echo "You entered a nammber:$c"' >> a.sh
[csdn ~]$ echo '   ;;' >> a.sh
[csdn ~]$ echo '   a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo "You entered a lowercase letter: $c. Continue."' >> a.sh
[csdn ~]$ echo '   ;;' >> a.sh
[csdn ~]$ echo '  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo "You entered a capital letter:$c. Continue." ' >> a.sh
[csdn ~]$ echo '   ;;' >> a.sh
[csdn ~]$ echo '   *)  echo "You entered another character:$c \\nGame over!"' >> a.sh
[csdn ~]$ echo '     break;' >> a.sh
[csdn ~]$ echo '   ;;' >> a.sh
[csdn ~]$ echo ' esac' >> a.sh
[csdn ~]$ echo 'done' >> a.sh
[csdn ~]$ echo 'done' >> a.sh

2.用cat命令查看创建的测试脚本文件a.sh的内容

[csdn ~]$ cat a.sh
while : 
do
while : 
 do
 echo -n "Please enter a nummber or letter: "
 read c
 case $c in 
   0|1|2|3|4|5|6|7|8|9) echo "You entered a nammber:$c"
   ;;
   a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo "You entered a lowercase letter: $c. Continue."
   ;;
  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo "You entered a capital letter:$c. Continue." 
   ;;
   *)  echo "You entered another character:$c \\nGame over!"
     break;
   ;;
 esac
done
done

[csdn ~]$ 

 3.执行测试脚本a.sh

[csdn ~]$ . a.sh
Please enter a nummber or letter: 6
You entered a nammber:6
Please enter a nummber or letter: a
You entered a lowercase letter: a. Continue.
Please enter a nummber or letter: B
You entered a capital letter:B. Continue.
Please enter a nummber or letter: *
You entered another character:* \nGame over!
Please enter a nummber or letter: -
You entered another character:- \nGame over!
Please enter a nummber or letter: ^C
[csdn ~]$ 

(三)小结

从上面的测试结果来看,无论是在zsh中,还是在bash中,break都只能跳出一层循环。

所以在上面的例子中,我们使用^C来终止脚本执行。

五、continue语句

linux shell 脚本 编程中的continue语句的作用,跟C、JavaScript等其它编程语言一样,就是跳转,重新开始循环。

六、实例三

为了验证continue语句的作用,我对实例1中最后一个case分支的代码:

   *)  echo "You entered another character:$c \nGame over!"
     break;
   ;;

改为:

   *)  echo "You entered another character:$c"
   continue
   echo "Game over!"
   break;
   ;;

即:

while : 
 do
 echo -n "Please enter a nummber or letter: "
 read c
 case $c in 
   0|1|2|3|4|5|6|7|8|9) echo "You entered a nammber:$c"
   ;;
   a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo "You entered a lowercase letter: $c. Contine."
   ;;
  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo "You entered a capital letter:$c. Contine." 
   ;;
   *)  echo "You entered another character:$c"
   continue
   echo "Game over!"
   break;
   ;;
 esac
done

这样,当我们输入一个非数字或字母字符时,看看会代码执行结果发生什么样的变化? 

(一)在zsh中

1.创建测试脚本文件a.sh 

echo 'while : ' > a.sh
echo ' do' >> a.sh
echo ' echo -n "Please enter a nummber or letter: "' >> a.sh
echo ' read c' >> a.sh
echo ' case $c in ' >> a.sh
echo '   0|1|2|3|4|5|6|7|8|9) echo "You entered a nammber:$c"' >> a.sh
echo '   ;;' >> a.sh
echo '   a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo "You entered a lowercase letter: $c. Continue."' >> a.sh
echo '   ;;' >> a.sh
echo '  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo "You entered a capital letter:$c. Continue." ' >> a.sh
echo '   ;;' >> a.sh
echo '   *)  echo "You entered another character:$c"' >> a.sh
echo '   continue' >> a.sh
echo '   echo "Game over!"' >> a.sh
echo '   break;' >> a.sh
echo '   ;;' >> a.sh
echo ' esac' >> a.sh
echo 'done' >> a.sh

2.查看生成的脚本文件a.sh

# csdn @ edu in ~ [21:18:17] C:126
$ cat a.sh
while : 
 do
 echo -n "Please enter a nummber or letter: "
 read c
 case $c in 
   0|1|2|3|4|5|6|7|8|9) echo "You entered a nammber:$c"
   ;;
   a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo "You entered a lowercase letter: $c. Continue."
   ;;
   A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo "You entered a capital letter:$c. Continue." 
   ;;
   *) echo "You entered another character:$c"
   continue
   echo "Game over!"
   break;
   ;;
 esac
done

# csdn @ edu in ~ [21:19:29] 

3.运行脚本文件a.sh

# csdn @ edu in ~ [21:16:42] 
$ . ./a.sh
Please enter a nummber or letter: b
You entered a lowercase letter: b. Continue.
Please enter a nummber or letter: 1
You entered a nammber:1
Please enter a nummber or letter: c
You entered a lowercase letter: c. Continue.
Please enter a nummber or letter: *
You entered another character:*
Please enter a nummber or letter: ^C%                                                                                                                                                                                                  

# csdn @ edu in ~ [21:18:17] C:126

(二)在bash中

1.创建测试脚本文件a.sh 

 # csdn @ edu in ~ [23:25:46] 
$ exec bash[csdn ~]$ echo 'while : ' > a.sh
[csdn ~]$ echo ' do' >> a.sh
[csdn ~]$ echo ' echo -n "Please enter a nummber or letter: "' >> a.sh
[csdn ~]$ echo ' read c' >> a.sh
[csdn ~]$ echo ' case $c in ' >> a.sh
[csdn ~]$ echo '  0|1|2|3|4|5|6|7|8|9) echo "You entered a nammber:$c"' >> a.sh
[csdn ~]$ echo '  ;;' >> a.sh
[csdn ~]$ echo '  a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo "You entered a lowercase letter: $c. Continue."' >> a.sh
[csdn ~]$ echo '  ;;' >> a.sh
[csdn ~]$ echo '  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo "You entered a capital letter:$c. Continue." ' >> a.sh
[csdn ~]$ echo '  ;;' >> a.sh
[csdn ~]$ echo '  *)  echo "You entered another character:$c"' >> a.sh
[csdn ~]$ echo '  continue' >> a.sh
[csdn ~]$ echo '  echo "Game over!"' >> a.sh
[csdn ~]$ echo '  break;' >> a.sh
[csdn ~]$ echo '  ;;' >> a.sh
[csdn ~]$ echo '  esac' >> a.sh
[csdn ~]$ echo 'done' >> a.sh

2.用cat命令查看脚本文件的内容

[csdn ~]$ cat a.sh
while : 
 do
 echo -n "Please enter a nummber or letter: "
 read c
 case $c in 
  0|1|2|3|4|5|6|7|8|9) echo "You entered a nammber:$c"
  ;;
  a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) echo "You entered a lowercase letter: $c. Continue."
  ;;
  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) echo "You entered a capital letter:$c. Continue." 
  ;;
  *)  echo "You entered another character:$c"
  continue
  echo "Game over!"
  break;
  ;;
  esac
done
[csdn ~]$ 

 

3.执行脚本文件

[csdn ~]$ . a.sh
Please enter a nummber or letter: 3
You entered a nammber:3
Please enter a nummber or letter: a
You entered a lowercase letter: a. Continue.
Please enter a nummber or letter: C
You entered a capital letter:C. Continue.
Please enter a nummber or letter: *
bash:  echo: command not found
Please enter a nummber or letter: ^C
[csdn ~]$ 

 3.小结

在上面的实例中,当我们输入字符*时,程序执行代码:

*) echo "You entered another character:$c"

输出信息:

You entered another character:*

后,就遇到 了continue语句,重新开始循环。

continue语句后面的代码:

   echo "Game over!"
   break;

没有执行。

所以我们还是要用Ctrl+C来终止脚本的运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1165445.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

睿趣科技:想知道开抖音小店的成本

随着互联网的发展,越来越多的人开始尝试通过开设网店来创业。抖音作为目前最受欢迎的短视频平台之一,也提供了开店的功能。那么,开一家抖音小店需要多少成本呢? 首先,我们需要了解的是,抖音小店的开店费用是…

Git 指令白雪警告!在IDEA中配置使用Git管理提交代码,无需繁杂指令

目录 1. 前言 2. Git 路径配置步骤 3. IDEA中使用Git管理项目 3.1 第一种做法 3.2 第二种做法 4. IDEA中提交代码和推送代码 5. 分支相关操作 5.1 创建分支 5.2 切换分支,删除分支 6. 拉取更新代码并处理分支冲突 1. 前言 相信有很多小伙伴在学习 Git 指…

libuv进程通信与管道描述符

libuv 提供了大量的子进程管理,抽象了平台差异并允许使用流或命名管道与子进程进行通信。Unix 中的一个常见习惯是每个进程只做一件事,并且把它做好。在这种情况下,一个进程通常会使用多个子进程来完成任务(类似于在 shell 中使用…

【软件测试】个人博客项目测试报告

目录 1.报告概要 2、测试环境 3、手动测试用例编写 4、自动化测试用例 1.报告概要 测试对象:基于SSM项目的博客系统。 测试目的:检测博客项目是否符合预期,并且对测试知识进行练习和巩固。 测试点:主要针对常用的功能进行测…

rhcsa-vim

命令行的三种模式 将ets下的passwd文件复制到普通用户下面 编辑模式的快捷方式 a--光标后插入 A--行尾插入 o--光标所在上一行插入 O--光标所在上一行插入 i--光标前插入 I--行首插入 s--删除光标所在位然后进行插入模式 S--删除光标所在行然后进行插入 命令模式的快捷…

社交媒体欺诈乱象 | 每15人就有1人遭遇过网络欺诈!

目录 社交媒体的欺诈现象 欧盟要求科技公司加强虚假信息处理 借助技术识别虚假社交账号 据英国劳埃德银行(TSB)5月份发布的一份报告披露,社交媒体平台上的金融欺诈正在以令人担忧的速度增加,消费者应对Facebook、Instagram和Wh…

嵌入式linux常用的文件传输方式

做嵌入式就避免不了移植工作,所谓移植就是将交叉编译生成的可执行程序,库,配置文件等传输到开发板上进行工作。 常用传输方式有以下几种:1.串口传输 就是使用串口传输工具rz/sz; 该工具通过串口传输在SRT串口工具…

openpnp - 74路西门子飞达控制板(主控板STM32_NUCLEO-144)实现

文章目录 openpnp - 74路西门子飞达控制板(主控板STM32_NUCLEO-144)实现概述飞达控制底板硬件电路程序的修改END openpnp - 74路西门子飞达控制板(主控板STM32_NUCLEO-144)实现 概述 现在调试自己的openpnp设备, 在收尾, 将飞达控制板弄好, 能正常控制设备飞达安装平台上装满…

【Qt】QMainWidget中的栏和菜单

默认结构最复杂的标准窗口 提供了菜单栏, 工具栏, 状态栏, 停靠窗口菜单栏: 只能有一个, 创建的最上方工具栏: 可以有多个, 默认提供了一个, 窗口的上下左右都可以停靠状态栏: 只能有一个, 窗口最下方停靠窗口: 可以有多个, 默认没有提供, 窗口的上下左右都可以停靠 菜单栏 在…

C语言--分段函数

要求&#xff1a;写一个程序&#xff0c;输入x的值&#xff0c;输出y的值 思路&#xff1a;定义两个变量&#xff0c;一个y&#xff0c;一个x&#xff0c;当x<1时&#xff0c;yx&#xff0c;当x>1&&x<10&#xff0c;y2x-1&#xff0c;当x>10,y3x-11.用一个…

osg三角带

案例1 #include <osg/Geode> #include <osg/Geometry> #include <osgDB/Registry> #include <osgDB/WriteFile> #include <osg/Notify> #include <osg/PrimitiveSet> #include <osgViewer/Viewer> #include <osgUtil/Optimizer&g…

服务器经常被攻击的原因

很多中小型企业都是选择虚拟主机服务器&#xff0c;是把一个服务器分成很多个给很多企业一起共用&#xff0c;可能同一个 IP服务器上就有很多个不同企业的网站&#xff0c;这个时候如果跟你同一个IP服务器的网站遭到DDoS攻击&#xff0c;就很有可能会影响到你的网站也无法正常访…

谁还在一个个私发成绩啊, 教你如何实现学生自助查询成绩

今天我们聊聊成绩查询那些事儿 得先说说&#xff0c;成绩查询到底是个啥东西。成绩查询系统&#xff0c;顾名思义&#xff0c;就是一个可以输入用户名和密码&#xff0c;然后查看自己成绩的系统。对于咱们老师来说&#xff0c;可以省去一个个私发成绩的繁琐&#xff0c;对于学生…

69 内网安全-域横向CobaltStrikeSPNRDP

目录 演示案例:域横向移动RDP传递-Mimikatz域横向移动SPN服务-探针,请求,导出,破解,重写域横向移动测试流程一把梭哈-CobaltStrike初体验 涉及资源 SPN主要是扫描技术&#xff0c;在渗透过程中结合kerberos协议&#xff0c;可以做一些事情 演示案例: 域横向移动RDP传递-Mimik…

第三章 栈和队列【数据结构与算法】【精致版】

第三章 栈和队列【数据结构与算法】【精致版】 前言版权第 3 章 栈和队列3.1 应用实例应用实例一 迷宫求解问题应用实例二“马”踏棋盘问题 3.2栈3.2.1 栈的概念及运算3.2.2栈的顺序存储结构1. 顺序栈**1-顺序栈.h**2. 多栈共享邻接空间**2-共享栈.c** 3.2.3栈的链式存储结构1&…

【错误解决方案】ModuleNotFoundError: No module named ‘torchvision.models.utils‘

1. 错误提示 在python程序&#xff0c;尝试导入一个名为torchvision.models.utils的模块&#xff0c;但Python提示找不到这个模块。 错误提示&#xff1a;ModuleNotFoundError: No module named torchvision.models.utils 2. 解决方案 1&#xff09;这可能是因为你还没有安装…

SolidWorks2022安装教程(正版)

网盘资源附文末 一.简介 SolidWorks软件是世界上第一个基于Windows开发的三维CAD系统&#xff0c;由于技术创新符合CAD技术的发展潮流和趋势&#xff0c;SolidWorks公司于两年间成为CAD/CAM产业中获利最高的公司。良好的财务状况和用户支持使得SolidWorks每年都有数十乃至数百…

学习笔记二十九:K8S配置管理中心Configmap实现微服务配置管理

Configmap概述 Configmap概述Configmap能解决哪些问题&#xff1f;Configmap应用场景局限性 Configmap创建方法命令行直接创建通过文件创建指定目录创建configmap 编写configmap资源清单YAML文件使用Configmap通过环境变量引入&#xff1a;使用configMapKeyRef通过环境变量引入…

关于单片机CPU如何控制相关引脚

目录 1、相关的单片机结构 2、通过LED的实例解释 1、相关的单片机结构 在寄存器中每一块都有一根导线与引脚对应&#xff0c;通过cpu改变寄存器内的数据&#xff08;0或1&#xff09;&#xff0c;通过驱动器来控制对于的引脚。 2、通过LED的实例解释 如图所示&#xff0c;芯片…

【云备份|| 日志 day3】服务端配置信息模块

云备份day3 使用文件配置加载一些程序的运行关键信息可以让程序的运行更加灵活&#xff0c;且当需要修改部分内容时&#xff0c;不需要在代码上修改&#xff0c;只需要修改配置文件&#xff0c;然后重启服务器即可。 配置信息 热点判断时间文件下载URL前缀路径压缩包后缀名称…