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

scp拷贝文件报错

问题现象:

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

“tput: No value for $TERM and no -T specified”

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.gsyq.cn/news/202.html

相关文章:

  • 11.1 定义类和对象
  • C++小白修仙记_LeetCode刷题_队列
  • Fastjson 1.2.47 远程代码执行
  • MySQL事务
  • Python面向对象
  • buntu22.04 LTS安装docker以及docker-compose实践
  • 20分钟快速入门Docker
  • K8S的基础概念
  • 如何搭建K8S集群
  • 解决 .NET 7 在 Linux 上获取程序集的问题
  • MyBatis-Plus 实现PostgreSQL数据库jsonb类型的保存与查询
  • katalon常用定位元素Xpath合集
  • (期望)名字(name)
  • MathType7下载安装2025最新下载+安装+教程(附安装包)
  • 模板 AE PR 达芬奇 剪影
  • 如何自动删除重复执行的任务?
  • 开始更新第一篇
  • springboot~SpringData自定义Repository的正确方式
  • Linux之进程状态
  • 2. O(NlogN)的排序
  • React-手写支持多文件、并行上传、串行上传、分片上传、单文件上传、失败自动重试、自动上传/手动按钮上传切换
  • postcss-px-to-viewport-8-plugin无法转换tailwindcss样式问题
  • 82、SpringMVC 参数传递,浏览器和服务器之间的数据传输
  • 问卷调查数据库设计
  • Linux 系统调用详解与工作机制
  • The 2025 Sichuan Provincial Collegiate Programming Contest
  • 详细介绍:Android 热点开发的相关api总结
  • 十大经典排序算法 - lucky
  • 基于Operator方式和二进制方式部署prometheus环境
  • 27家网省