博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[20150429]使用scp问题.bashrc出现echo.txt
阅读量:6807 次
发布时间:2019-06-26

本文共 1346 字,大约阅读时间需要 4 分钟。

[20150429]使用scp问题.bashrc出现echo.txt

--前几天我在调试tmux时,在.bashrc中加入了如下代码:

if [[ '' = "$TMUX" ]]

then
    export INPUTRC=/etc/inputrc
    echo Welcome to bash
else
    export INPUTRC=/etc/tmux.inputrc
    echo Welcome to Tmux
fi

--这样在正常登陆时会显示:
Welcome to bash
--如果启动tmux会显示:
Welcome to Tmux

--但是我遇到一个会诡异问题,就是使用从另外1台机器scp拷贝文件到这台机器,会出现无法拷贝的情况:

# scp /tmp/aa.txt root@192.168.xx.yyy:/tmp
root@192.168.xx.yyy's password:
Welcome to bash

# ssh 192.168.xx.yyy ls -l /tmp/aa.txt

root@192.168.xx.yyy's password:
Welcome to bash
ls: /tmp/aa.txt: No such file or directory

--可以发现文件并没有拷贝过去.如果我注解echo.

if [[ '' = "$TMUX" ]]

then
    export INPUTRC=/etc/inputrc
#    echo Welcome to bash
else
    export INPUTRC=/etc/tmux.inputrc
#    echo Welcome to Tmux
fi

# scp /tmp/aa.txt root@192.168.xx.yyy:/tmp

root@192.168.xx.yyy's password:
aa.txt                                     100%   59KB  59.3KB/s   00:00

--可以发现取消echo,scp工作正常,why? 做一个简单跟踪. 先删除文件.

# strace -o /tmp/scp.txt -f -t scp /tmp/aa.txt root@192.168.xx.yyy:/tmp

root@192.168.xx.yyy's password:
Welcome to bash

--看跟踪文件,居然看不出什么名堂... 只能google!

--按照链接介绍,这个bug早就存在,按照介绍我写成如下:

if [[ '' = "$TMUX" ]]
then
    if [ "$SSH_TTY" ]
    then
        echo Welcome to bash
    fi
    export INPUTRC=/etc/inputrc
else
    export INPUTRC=/etc/tmux.inputrc
    echo Welcome to Tmux
fi

$ scp /tmp/aa.txt root@192.168.xx.yyy:/tmp

root@192.168.xx.yyy's password:
aa.txt                         100%   59KB  59.3KB/s   00:00

--当然我调试已经完成,完全不需要echo的显示.这个在以后工作中注意.

转载地址:http://tvhwl.baihongyu.com/

你可能感兴趣的文章