当前位置: 首页 > news >正文

scp拷贝文件报错

问题现象:

scp拷贝文件时报错,文件传输被取消。报错信息如下:

image

 问题原因:

前段时间在系统上/etc/profile.d/目录下新增了一个脚本,修改了PS1变量。脚本内容如下:

red=$(tput setaf 1)
green=$(tput setaf 2)
blue=$(tput setaf 4)
reset=$(tput sgr0)
PS1='\[$red\]\u\[$reset\]@\[$green\]\h\[$reset\]:\[$blue\]\w\[$reset\]\$ '

这段代码的本意是对PS1中的内容进行着色,理论上仅需要在交互式shell中生效。但上述写法会导致总是生效。

scp登录时,不需要启动交互式bash,所以环境变量TERM没有被设置。

 

解决方案:

将上述脚本修改如下:

#判断是否是交互式bash,仅在交互式bash下执行
if shopt -q login_shell; thenred=$(tput setaf 1)green=$(tput setaf 2)blue=$(tput setaf 4)reset=$(tput sgr0)PS1='\[$red\]\u\[$reset\]@\[$green\]\h\[$reset\]:\[$blue\]\w\[$reset\]\$ '
fi

再次执行scp命令,拷贝文件成功。

image

 

参考资料:

scp gives the warning "TERM environment variable not set" - Red Hat Customer Portal

 

http://www.agseo.cn/news/260/

相关文章:

  • ABC150 C-F
  • 【游戏设计】五子棋设计思路
  • LG10516
  • 11.1 定义类和对象
  • C#.NET EFCore.BulkExtensions 扩展详解
  • 2025AI赋能HR新纪元,中国AI HR主流厂商大盘点
  • Linux作业及状态转换
  • C++小白修仙记_LeetCode刷题_队列
  • 设备驱动程序和设备独立性软件的区别
  • Fastjson 1.2.47 远程代码执行
  • 树状数组板子
  • 私有化部署Dify构建企业AI平台教程
  • 树状数组板子2
  • 网络流——OI复健
  • 2025“钉耙编程”中国大学生算法设计暑期联赛(3)
  • Symfony学习笔记 - Symfony Documentation - Getting Started(下)
  • MySQL事务
  • 线段树板子
  • 双列圆锥滚子轴承载荷分布计算程序
  • NOIP 集训日记
  • 矢量篇 - KMLKMZ转SHP
  • js空值合并运算符?? - jerry
  • 记录---让网页像现实世界一样“拿起来,放进去”
  • Python面向对象
  • ubuntu上通过kvm新建虚拟机
  • buntu22.04 LTS安装docker以及docker-compose实践
  • 关于USB 无线 WIF 设备驱动安装的问题
  • Spring Boot常用注解-详细解析+示例 - 指南
  • test
  • Ubuntu22.04安装Docker过程记录