一、VSCode 插件
- shellman:提供智能提示和自动补全功能。
 - shellcheck:提供语法检查的功能。
 - shell-format:提供代码格式化功能,快捷键:
Alt+Shift+f。 - Code Runner:提供代码运行功能。
 
Linux 上脚本首行要声明 bash 解释器,Windows 上也一样。不过,路径要更改为安装 Git 的路径,例如: E:\SOFTWARE\Git\bin/bash。
#!E:\SOFTWARE\Git\bin\bash
# basic for command
for test in Alabama Alaska Arizona
do
    echo The next state is $test
done
二、VSCode 实现 Shell 脚本调试
2.1、Windows 配置 SSH
2.1.1、通过「设置」安装
1、使用 Windows + I 快捷键打开「设置」,依次选择「系统」>「可选功能」。
2、点击「查看功能」,在搜索框中输入 OpenSSH 进行筛选。
3、根据需要勾选:
OpenSSH 客户端:可以使用 ssh 命令连接到其他支持 SSH 的设备。
OpenSSH 服务器:允许其他设备通过 SSH 连接到你的电脑。
4、选择好后点击「下一步」,然后点击「安装」开始安装过程。
2.1.2、使用 PowerShell 安装
1、使用 Windows + R 快捷键打开「运行」对话框,输入 powershell,然后按 Ctrl + Shift + Enter 以管理员权限打开 PowerShell 窗口。
2、执行以下命令查看 OpenSSH 安装状态:
3、根据需要安装 OpenSSH 客户端和服务器组件:
# 安装 OpenSSH 客户端
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# 安装 OpenSSH 服务器
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
2.1.3、在 Windows 中配置 OpenSSH 服务器
1、当你在 Windows 上安装了 OpenSSH 服务器之后,需要进行一些配置才能接受连接:
2、使用 Windows + R 快捷键打开「运行」对话框,输入 powershell,然后按 Ctrl + Shift + Enter 以管理员权限打开 PowerShell。
Set-Service -Name sshd -StartupType 'Automatic'
3、设置 SSHD 服务自动启动:
Start-Service sshd
4、检查 SSH 服务器是否在侦听 22 端口:
netstat -an | findstr /i ":22"
5、确保 Windows Defender 防火墙允许 TCP 22 端口的入站连接:
Get-NetFirewallRule -Name *OpenSSH-Server* | select Name, DisplayName, Description, Enabled
如规则丢失或被禁用,可以创建新规则:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
6、可选)如果要修改配置,如设置用户访问权限,可以编辑 sshd_config 配置文件:
Start-Process Notepad C:\Programdata\ssh\sshd_config
7、根据需要修改配置文件,保存后关闭记事本。
8、完成更改后,重启 SSHD 服务应用配置:
Restart-Service sshd
按照这些步骤,你的 Windows 就能通过 SSH 协议接受连接了。
2.2、使用 VSCode 远程连接 linux 服务
安装 VSCode 插件:Remote - SSH & Bash Debug。
输入:ssh root@192.168.10.102 进行连接。
Remote - SSH 连接后生成 .config:
Host 192.168.10.102
  HostName 192.168.10.102
  User root
Bash Debug 配置 launch.json:
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "bashdb",
            "request": "launch",
            "name": "Bash-Debug (type in script name)",
            "cwd": "${workspaceFolder}",
            "program": "${command:AskForScriptName}",
            "args": []
        },
        {
            "type": "bashdb",
            "request": "launch",
            "name": "Bash-Debug (select script from list of sh files)",
            "cwd": "${workspaceFolder}",
            "program": "${command:SelectScriptName}",
            "args": []
        },
        {
            "type": "bashdb",
            "request": "launch",
            "name": "Bash-Debug (hardcoded script name)",
            "cwd": "${workspaceFolder}",
            "program": "${workspaceFolder}/path/to/script.sh",
            "args": []
        },
        {
            "type": "bashdb",
            "request": "launch",
            "name": "Bash-Debug (simplest configuration)",
            "program": "${file}"
        }
    ]
}
参考:
【OpenSSH】Windows 上的 OpenSSH:安装、配置和使用指南
在 Windows 下用 VScode 构造 shell 脚本的 IDE
使用 vscode 实现 shell 脚本调试
        
评论