问题描述

Mac环境下Vscode自带的终端无论什么命令都会出现sed提示,使用自带终端就没有问题

$ echo 'hi'
sed: illegal option -- r
usage: sed script [-Ealn] [-i extension] [file ...]
sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...]

系统环境

# 系统版本
$ sw_vers

ProductName: Mac OS X
ProductVersion: 10.14.4
BuildVersion: 18E2035

# vscode版本
$ code -v
1.71.0
784b0177c56c607789f9638da7b6bf3230d47a8c
x64

解决方式

参考 ​​issue​​ 可以很好的解决这个问题

官网也说将在下一个版本修复这个问题

修改文件​​/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/contrib/terminal/browser/media/shellIntegration-bash.sh​

替换第125行

# __vsc_current_command="$(builtin history 1 | sed -r 's/ *[0-9]+ +//')"
__vsc_current_command="$(builtin history 1 | sed -E 's/ *[0-9]+ +//')"

参考
​​​https://github.com/microsoft/vscode/issues/159864​