用到的插件:
直接从应用市场安装即可
前提:
shell-format依赖于 shfmt
shell-format会调用本地的 shfmt 可执行文件.
如果要使用 shell-format, 必须要下载 shfmt
shfmt的各个版本在发行页
使用:
比如下载 shfmt_v3.0.0-beta1_windows_amd64 版本
把文件名重命名短一点, 然后放到 D:\App\shfmt_v3.0.0.exe
目录下
从VSCode的商店安装 shell-format
打开配置文件 setting.json
添加如下配置:
"shellformat.path": "D:\\App\\shfmt_v3.0.0.exe",
"shellformat.flag": "-i=2 -sr -kp -ci",
shellformat.path
用来指定 shfmt 的路径
shellformat.flag
表示功能配置. 具体内容参考 shfmt
# like -i=4
indent_style = space
indent_size = 4
shell_variant = posix # like -ln=posix
binary_next_line = true # like -bn
switch_case_indent = true # like -ci
space_redirects = true # like -sr
keep_padding = true # like -kp
前提:
使用前说明:
使用:
安装 WSL – 具体内容可以百度
控制面板
中找到 启用或关闭WIndows功能
适用于 Linux 的 Windows 子系统
, 在前面的 打勾
并 确定
.应用商店
里搜索 Linux
, 选择 Ubuntu
安装.sudo passwd root
来设置.下载 shellcheck 的 Linux 版本, 放在D盘下面, 路径为: D:\shellcheck-stable.linux.x86_64.tar.xz
从 开始
菜单打开 Ubuntu
, 从 Windows 中复制到 Linux 中 /usr/local/bin
sudo cp /mnt/d/shellcheck-stable.linux.x86_64.tar.xz /usr/local/bin
解压 shellcheck-stable.linux.x86_64.tar.xz
sudo xz -d shellcheck-stable.linux.x86_64.tar.xz
sudo tar -xvf shellcheck-stable.linux.x86_64.tar
要解压两边
解压后得到 shellcheck-stable
目录, 里面有三个文件
LICENSE.txt README.txt shellcheck
将 shellcheck
移动到 /usr/local/bin
目录下
mv /usr/local/bin/shellcheck-stable /usr/local/bin
从 VSCode 安装 shellcheck 的插件
修改配置文件 setting.json
"shellcheck.enable": true,
"shellcheck.useWSL": true,
也可以通过可视化配置.
运行 shell 脚本的方法有很多, 用 git 中的 bash 也是很好的选择.
Remote-WSL的作用就像是在 Linux 上安装一个 VSCode, 直接编辑 Linux 上的文件.
错误提示:
Syntax error: Bad for loop variable
原因:
从 ubuntu 6.10 开始,ubuntu 就将先前默认的 bash shell 更换成了 dash shell;其表现为 /bin/sh 链接倒了 /bin/dash 而不是传统的 /bin/bash。
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Aug 12 14:29 /bin/sh -> dash
所以在使用 sh 执行检测的时候实际使用的是 dash,而 dash 不支持这种 C 语言格式的 for 循环写法。
解决办法:
将默认 shell 更改为 bash。(bash 支持 C 语言格式的 for 循环)
sudo dpkg-reconfigure dash
在选择项中选 No
直接使用 bash :
bash -n xxx.sh
为了确保 shell 脚本的可移植性,直接更改 shell 脚本,使用 shell 支持的 for 循环格式:
for a in `seq $num`