自动化脚本入门——变量
该系列介绍自动化脚本相关内容,定位入门,不涉及语言难点和工业领域,也不求如官方文档般面面俱到,往往仅介绍一种写法。使用的语言或工具有 Windows Batch
, Windows Powershell
, Windows VBScript
, Linux Shell
, Python
, JavaScript
和 Puppeteer
。文章采取三段论结构:首先选取特定主题,之后对比不同语言写法,最后总结。今天,先介绍变量,主要介绍变量定义、赋值和引用。在此之前,我先给出各语言文件的扩展名和注释符号。
[hint warn]下表仅列出一种情况[/hint]
语言 | 扩展名 | 注释标识符 |
---|---|---|
Windows Batch | cmd | :: |
Windows Powershell | ps1 | # |
Windows VBScript | vbs | ' |
Linux Shell | sh | # |
Python | py | # |
JavaScript | js | // |
Hello World
我们以编程经典示例,输出字符串 Hello World!
为例,了解上述语言如何进行变量定义、赋值和引用,以及怎样从控制台输出它的值。
:: Windows Batch
:: 定义变量 "message" 并将字符串 "Hello World!" 赋值给它,注意 "=" 前后不能有空格
set message="Hello World!"
:: 使用 "%变量名%" 的形式引用它
echo %message%
# Windows Powershell
# 变量名前始终有 "$"
# 定义和赋值,"=" 前后可以有空格
$message = "Hello World!"
# 引用和输出
$message
' Windows VBScript
' 定义和引用无需任何标识符
' 定义
Dim message
' 赋值,"=" 前后可以有空格
message = "Hello World!"
' 引用和输出
WSH.Echo message
#!/usr/bin/env bash
# Linux Shell
# 定义和赋值,"=" 前后不能有空格
message="Hello World!"
# 使用 "$" 标识符引用
echo $message
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# python3
# 定义和引用无需任何标识符
# 定义和赋值,"=" 前后可以有空格
message = "Hello World!"
# 引用和输出
print(message)
// JavaScript
// 定义和引用无需任何标识符
// 定义和赋值,"=" 前后可以有空格
var message = "Hello World!";
// 引用和输出
console.log(message);
小结
Windows Batch
和 Linux Shell
较接近,都属低级语言,但在各自平台使用最为广泛,历史也最长。这两者在赋值时,=
前后不能有空格。除此之外,剩下几种相对高级,如果你学过 C/C++
或 Java
能够较快上手。Windows VBScript
已几近淘汰,经常用到的特性是让其他程序后台运行。Windows Powershell
是微软如今主推的 Windows 自动化脚本语言,因此,如果你只学一种 Windows 脚本,就学 PS。Python
和 JavaScript
是这几者中实实在在的高级语言,如果你想写复杂跨平台脚本,学 Python
就对了,因为它是生态最好的全能语言。JavaScript
最早用于网页开发,近年来由于 Nodejs
和 Puppeteer
等框架的出现,也可用于服务端编程、前端自动化测试和网络爬虫等领域。最后,路由插件开发学 Shell
,否则学 Python
,兴趣广泛者全学。