emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: tramp again


From: Robert J. Chassell
Subject: Re: tramp again
Date: Thu, 22 Aug 2002 12:19:41 +0000 (UTC)

   Miles Bader asked:

   > Does tramp seem this fragile for anyone else?

In today's CVS snapshot, 2002 Aug 22  11:55 UTC,
GNU Emacs 21.3.50.181 (i686-pc-linux-gnu, X toolkit)
running:

    emacs -q --no-site-file --eval '(blink-cursor-mode 0)'

the following found the desired remote directory successfully:

(progn
  (require 'tramp)
  (setq tramp-verbose 10)
  (setq tramp-debug-buffer t)
  ;; running `emacs -q' so need to set this
  (custom-set-variables '(shell-prompt-pattern "^[^#$%
]*[#$%>] *")))

    (find-file "/ssh:address@hidden:/home/bob/www/" nil)


However, the following:

    (find-file
     "/multi:ssh:address@hidden:ssh:address@hidden:/home/bob" nil)

`worked but with a problem':  tramp visited both both a multi-hop
remote file that I did not seek, which is this one:

    /multi:ssh:address@hidden:ssh:address@hidden:/home/bob/.alias

and the directory that I did seek, namely:

    /multi:ssh:address@hidden:ssh:address@hidden:/home/bob/


Incidentally, I did not know I had a .alias file in that directory;
it was installed by Debian when the directory was created.


Here is the output from:

*debug tramp/multi address@hidden:address@hidden:* 



# Opening `multi' connection...
# Waiting 60s for local shell to come up...
sh-2.05b$ # Sending rlogin command `ssh 24.161.120.95 -l bob'
# Waiting 60s for prompt from remote shell
# Looking for pattern ^.*\([pP]assword\|passphrase.*\):? *
# Looking for pattern .*ogin: *
# Looking for pattern ^[^#$%
]*[#$%>] *
# Looking for pattern ^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key 
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not 
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received signal 
[0-9]+\).*
# Looking for pattern ^.*\([pP]assword\|passphrase.*\):? *
# Looking for pattern .*ogin: *
# Looking for pattern ^[^#$%
]*[#$%>] *
# Looking for pattern ^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key 
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not 
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received signal 
[0-9]+\).*
# Looking for pattern ^.*\([pP]assword\|passphrase.*\):? *
# Looking for pattern .*ogin: *
# Looking for pattern ^[^#$%
]*[#$%>] *
# Looking for pattern ^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key 
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not 
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received signal 
[0-9]+\).*
# Looking for pattern ^.*\([pP]assword\|passphrase.*\):? *
# Looking for pattern .*ogin: *
# Looking for pattern ^[^#$%
]*[#$%>] *
# Looking for pattern ^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key 
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not 
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received signal 
[0-9]+\).*
# Looking for pattern ^.*\([pP]assword\|passphrase.*\):? *
# Looking for pattern .*ogin: *
# Looking for pattern ^[^#$%
]*[#$%>] *
# Looking for pattern ^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key 
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not 
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received signal 
[0-9]+\).*
# Looking for pattern ^.*\([pP]assword\|passphrase.*\):? *
# Looking for pattern .*ogin: *
# Looking for pattern ^[^#$%
]*[#$%>] *
# Looking for pattern ^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key 
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not 
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received signal 
[0-9]+\).*
# Looking for pattern ^.*\([pP]assword\|passphrase.*\):? *
# Looking for pattern .*ogin: *
# Looking for pattern ^[^#$%
]*[#$%>] *
# Looking for pattern ^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key 
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not 
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received signal 
[0-9]+\).*
# Looking for pattern ^.*\([pP]assword\|passphrase.*\):? *
# Looking for pattern .*ogin: *
# Looking for pattern ^[^#$%
]*[#$%>] *
# Looking for pattern ^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key 
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not 
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received signal 
[0-9]+\).*
# Looking for pattern ^.*\([pP]assword\|passphrase.*\):? *
# Looking for pattern .*ogin: *
# Looking for pattern ^[^#$%
]*[#$%>] *
# Looking for pattern ^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key 
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not 
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received signal 
[0-9]+\).*
# Looking for pattern ^.*\([pP]assword\|passphrase.*\):? *
# Looking for pattern .*ogin: *
# Looking for pattern ^[^#$%
]*[#$%>] *
# Looking for pattern ^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key 
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not 
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received signal 
[0-9]+\).*
# Looking for pattern ^.*\([pP]assword\|passphrase.*\):? *
# Looking for pattern .*ogin: *
# Looking for pattern ^[^#$%
]*[#$%>] *
# Looking for pattern ^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key 
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not 
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received signal 
[0-9]+\).*
# Looking for pattern ^.*\([pP]assword\|passphrase.*\):? *
# Looking for pattern .*ogin: *
# Looking for pattern ^[^#$%
]*[#$%>] *
# Found shell prompt on `24.161.120.95'
# Sending rlogin command `ssh 192.168.2.48 -l bob'
# Waiting 60s for prompt from remote shell
# Looking for pattern ^.*\([pP]assword\|passphrase.*\):? *
# Looking for pattern .*ogin: *
# Looking for pattern ^[^#$%
]*[#$%>] *
# Looking for pattern ^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key 
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not 
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received signal 
[0-9]+\).*
# Looking for pattern ^.*\([pP]assword\|passphrase.*\):? *
# Looking for pattern .*ogin: *
# Looking for pattern ^[^#$%
]*[#$%>] *
# Looking for pattern ^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key 
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not 
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received signal 
[0-9]+\).*
# Looking for pattern ^.*\([pP]assword\|passphrase.*\):? *
# Looking for pattern .*ogin: *
# Looking for pattern ^[^#$%
]*[#$%>] *
# Looking for pattern ^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key 
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not 
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received signal 
[0-9]+\).*
# Looking for pattern ^.*\([pP]assword\|passphrase.*\):? *
# Looking for pattern .*ogin: *
# Looking for pattern ^[^#$%
]*[#$%>] *
# Looking for pattern ^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key 
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not 
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received signal 
[0-9]+\).*
# Looking for pattern ^.*\([pP]assword\|passphrase.*\):? *
# Looking for pattern .*ogin: *
# Looking for pattern ^[^#$%
]*[#$%>] *
# Looking for pattern ^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key 
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not 
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received signal 
[0-9]+\).*
# Looking for pattern ^.*\([pP]assword\|passphrase.*\):? *
# Looking for pattern .*ogin: *
# Looking for pattern ^[^#$%
]*[#$%>] *
# Found shell prompt on `192.168.2.48'
$ exec /bin/sh
# Waiting 30s for remote `/bin/sh' to come up...
<address@hidden> ~ $ # Setting up remote shell environment
<address@hidden> ~ $ <address@hidden> ~ $ # Determining coding system
foo
bar
<address@hidden> ~ $ # Waiting 30s for `HISTFILE=$HOME/.tramp_history; 
HISTSIZE=1'
<address@hidden> ~ $ # Waiting 30s for `set +o vi +o emacs'
<address@hidden> ~ $ # Waiting 30s for `unset MAIL MAILCHECK MAILPATH'
<address@hidden> ~ $ # Waiting 30s for `unset CDPATH'
<address@hidden> ~ $ # Setting shell prompt
$ PS1='
/////
'; PS2=''; PS3=''
$ echo ~root
/root
# Remote `/bin/sh' groks tilde expansion, good
# Finding command to check if file exists
$ test -e / 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ test -e /\ this\ file\ does\ not\ exist\  2>/dev/null; echo tramp_exit_status 
$? 
tramp_exit_status 1
# Finding a suitable `ls' command
# Checking remote `/bin/ls' command for `-n' option
$ test -x /bin/ls 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# Testing remote command `/bin/ls' for -n...
$ /bin/ls -lnd / >/dev/null 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# Testing remote command `/bin/ls' for -n...okay
# Using remote command `/bin/ls' for getting directory listings
$ tramp_set_exit_status () {
return $1
}
$ test -e /bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ ( test -d /bin 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
$ test -e /usr/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ ( test -d /usr/bin 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
$ test -e /usr/sbin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ ( test -d /usr/sbin 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
$ test -e /usr/local/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ ( test -d /usr/local/bin 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
$ test -e /usr/ccs/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /local/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /local/freeware/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /local/gnu/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /usr/freeware/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /usr/pkg/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /usr/contrib/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ PATH=/bin:/usr/bin:/usr/sbin:/usr/local/bin; export PATH
$ LC_TIME=C; export LC_TIME; echo huhu
huhu
$ mesg n; echo huhu
huhu
$ biff n ; echo huhu
huhu
$ unalias ls; echo huhu
sh: unalias: ls: not found
huhu
$ ( test / -nt / )
$ tramp_test_nt () {
test -n "`find $1 -prune -newer $2 -print`"
}
$ tramp_uudecode () {
(echo begin 600 /tmp/tramp.$$; tail +2) | uudecode
cat /tmp/tramp.$$
rm -f /tmp/tramp.$$
}
$ while read d; do if test -x $d/perl5 -a -f $d/perl5; then echo 
tramp_executable $d/perl5; break; fi; done <<'EOF'
$ /bin
$ /usr/bin
$ /usr/sbin
$ /usr/local/bin
$ /usr/ccs/bin
$ /local/bin
$ /local/freeware/bin
$ /local/gnu/bin
$ /usr/freeware/bin
$ /usr/pkg/bin
$ /usr/contrib/bin
$ EOF
$ while read d; do if test -x $d/perl -a -f $d/perl; then echo tramp_executable 
$d/perl; break; fi; done <<'EOF'
$ /bin
$ /usr/bin
$ /usr/sbin
$ /usr/local/bin
$ /usr/ccs/bin
$ /local/bin
$ /local/freeware/bin
$ /local/gnu/bin
$ /usr/freeware/bin
$ /usr/pkg/bin
$ /usr/contrib/bin
$ EOF
tramp_executable /usr/bin/perl
# Sending the Perl `file-attributes' implementation.
$ tramp_file_attributes () {
/usr/bin/perl -e '$f = $ARGV[0];
@s = lstat($f);
if (($s[2] & 0170000) == 0120000) { $l = readlink($f); $l = "\"$l\""; }
elsif (($s[2] & 0170000) == 040000) { $l = "t"; }
else { $l = "nil" };
printf("(%s %u %d %d (%u %u) (%u %u) (%u %u) %u %u t (%u . %u) (%u %u))\n",
$l, $s[3], $s[4], $s[5], $s[8] >> 16 & 0xffff, $s[8] & 0xffff,
$s[9] >> 16 & 0xffff, $s[9] & 0xffff, $s[10] >> 16 & 0xffff, $s[10] & 0xffff,
$s[7], $s[2], $s[1] >> 16 & 0xffff, $s[1] & 0xffff, $s[0] >> 16 & 0xffff, $s[0] 
& 0xffff);' $1 2>/dev/null
}
# Sending the Perl `mime-encode' implementations.
$ tramp_encode () {
/usr/bin/perl -e '
# This script contributed by Juanma Barranquero <address@hidden>.
# Copyright (C) 2002 Free Software Foundation, Inc.
use strict;

my %trans = do {
    my $i = 0;
    map {(substr(unpack(q(B8), chr $i++), 2, 6), $_)}
      split //, 
q(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/);
};

binmode(\*STDIN);

# We read in chunks of 54 bytes, to generate output lines
# of 72 chars (plus end of line)
$/ = \54;

while (my $data = <STDIN>) {
    my $pad = q();

    # Only for the last chunk, and only if did not fill the last three-byte 
packet
    if (eof) {
        my $mod = length($data) % 3;
        $pad = q(=) x (3 - $mod) if $mod;
    }

    # Not the fastest method, but it is simple: unpack to binary string, split
    # by groups of 6 bits and convert back from binary to byte; then map into
    # the translation table
    print
      join q(),
        map($trans{$_},
            (substr(unpack(q(B*), $data) . q(00000), 0, 432) =~ /....../g)),
              $pad,
                qq(\n);
}
' 2>/dev/null
}
$ tramp_encode_with_module () {
perl -MMIME::Base64 -0777 -ne 'print encode_base64($_)' 2>/dev/null
}
# Sending the Perl `mime-decode' implementations.
$ tramp_decode () {
/usr/bin/perl -e '
# This script contributed by Juanma Barranquero <address@hidden>.
# Copyright (C) 2002 Free Software Foundation, Inc.
use strict;

my %trans = do {
    my $i = 0;
    map {($_, sprintf(q(%06b), $i++))}
      split //, 
q(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/)
};

my %bytes = map {(unpack(q(B8), chr $_), chr $_)} 0 .. 255;

binmode(\*STDOUT);

# We are going to accumulate into $pending to accept any line length
# (we do not check they are <= 76 chars as the RFC says)
my $pending = q();

while (my $data = <STDIN>) {
    chomp $data;

    # If we find one or two =, we have reached the end and
    # any following data is to be discarded
    my $finished = $data =~ s/(==?).*/$1/;
    $pending .= $data;

    my $len = length($pending);
    my $chunk = substr($pending, 0, $len & ~3, q());

    # Easy method: translate from chars to (pregenerated) six-bit packets, join,
    # split in 8-bit chunks and convert back to char.
    print join q(),
      map $bytes{$_},
        ((join q(), map {$trans{$_} || q()} split //, $chunk) =~ /......../g);

    last if $finished;
}
' 2>/dev/null
}
$ tramp_decode_with_module () {
perl -MMIME::Base64 -0777 -ne 'print decode_base64($_)' 2>/dev/null
}
$ while read d; do if test -x $d/ln -a -f $d/ln; then echo tramp_executable 
$d/ln; break; fi; done <<'EOF'
$ /bin
$ /usr/bin
$ /usr/sbin
$ /usr/local/bin
$ /usr/ccs/bin
$ /local/bin
$ /local/freeware/bin
$ /local/gnu/bin
$ /usr/freeware/bin
$ /usr/pkg/bin
$ /usr/contrib/bin
$ EOF
tramp_executable /bin/ln
# Checking remote encoding command `mimencode -b' for sanity
$ ( mimencode -b </dev/null >/dev/null 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
# Checking remote decoding command `mimencode -u -b' for sanity
$ ( echo xyzzy | mimencode -b | mimencode -u -b >/dev/null 2>/dev/null; echo 
tramp_exit_status $? )
tramp_exit_status 0
# Checking to see if encoding/decoding commands work on remote host...
$ echo xyzzy | mimencode -b | mimencode -u -b
xyzzy
# Checking to see if encoding/decoding commands work on remote host...done
$ ( test -d /home/bob 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
$ ( test -d /home/bob 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
# Inserting directory `ls -al 
/multi:ssh:address@hidden:ssh:address@hidden:/home/bob/', wildcard no, fulldir 
yes
$ /bin/ls -al /home/bob/.
total 344
-rw-r--r--    1 1001     console       231 Oct 23  2001 #*mail*#15260wHf#
-rw-r--r--    1 1001     console       209 Oct 23  2001 #*mail*#156164Lf#
-rw-r--r--    1 1001     console       845 Oct 23  2001 #*mail*#15624LOf#
drwxr-sr-x   11 1001     console      4096 Mar 15 17:45 .
drwxrwsr-x   12 root     staff        4096 Jun 23 05:54 ..
-rw-r--r--    1 1001     console       266 Aug 11  2001 .alias
-rw-r--r--    1 1001     console      4648 Aug 11  2001 .bash_alias
-rw-------    1 1001     console      6076 Apr  4 10:27 .bash_history
-rw-r--r--    1 1001     console       219 Dec 18  2001 .bash_profile
-rw-r--r--    1 1001     console       221 Aug 11  2001 .bash_profile.~1~
-rw-r--r--    1 1001     console        68 Aug 11  2001 .bash_profile~
-rw-r--r--    1 1001     console        55 Aug 11  2001 .bashrc
-rw-r--r--    1 1001     console       375 Aug 11  2001 .cshrc
-rw-------    1 1001     console       515 Dec 18  2001 .cvspass
-rw-r--r--    1 1001     console      1758 Oct 23  2001 .emacs
drwxr-sr-x    3 1001     console      4096 Oct 23  2001 .emacs.d
-rw-r--r--    1 1001     console       515 Aug 11  2001 .emacs.~1~
-rw-r--r--    1 1001     console     54760 Oct 23  2001 .emacs_short
-rw-r--r--    1 1001     console     54208 Oct 23  2001 .emacs_short.~1~
drwxr-sr-x    3 1001     console      4096 Mar 15 17:45 .gnome
drwx------    2 1001     console      4096 Mar 15 17:45 .gnome_private
drwxr-sr-x    5 1001     console      4096 Aug 11  2001 .netscape
-rw-r--r--    1 1001     console       127 Aug 11  2001 .signature
drwxr-sr-x    2 1001     console      4096 Oct  5  2001 .ssh
-rw-------    1 1001     console        62 Nov 21  2001 .tramp_history
-rw-r--r--    1 1001     console     13718 Sep  5  2001 .twmrc
-rw-r--r--    1 1001     console      1289 Sep  5  2001 .xinitrc
-rw-r--r--    1 1001     console       183 Aug 11  2001 RMAIL
-rw-r--r--    1 1001     console      5966 Aug 11  2001 X-log-2
drwxrwxrwx    2 1001     console      4096 Sep  3  2001 bob-speech
drwxr-sr-x    2 1001     console      4096 Aug 11  2001 emacs
-rw-r--r--    1 1001     console        73 Dec 18  2001 foo
-rw-r--r--    1 1001     console        70 Dec 16  2001 foo.el
-rw-r--r--    1 1001     console        73 Dec 16  2001 foo.el.~1~
-rw-r--r--    1 1001     console       964 Aug 11  2001 foo.pr
-rw-r--r--    1 1001     console        34 Aug 11  2001 foo.~1~
-rw-r--r--    1 1001     console        45 Aug 11  2001 foo.~2~
-rw-r--r--    1 1001     console       413 Aug 11  2001 foo.~3~
-rw-r--r--    1 1001     console      3237 Aug 11  2001 foobar
-rw-r--r--    1 1001     console      6909 Dec 19  2001 how-to-emacs
-rw-r--r--    1 1001     console      6862 Dec 18  2001 how-to-emacs.~1~
-rw-r--r--    1 1001     console      6716 Dec 18  2001 how-to-emacs.~2~
drwx--S---    2 1001     console      4096 Aug 11  2001 nsmail
-r--r--r--    1 1001     console       413 Aug 11  2001 test-page
drwxr-xr-x   10 1001     console      4096 Aug 11  2001 themes
-rw-r--r--    1 1001     console        16 Aug 11  2001 tty1
-rw-r--r--    1 1001     console       565 Aug 11  2001 v.pr
-rw-r--r--    1 1001     console       590 Aug 11  2001 v2.pr
-rw-r--r--    1 1001     console       584 Aug 11  2001 v3.pr
$ cd
$ test -e /home/bob/ 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: 
/multi:ssh:address@hidden:ssh:address@hidden:/home/bob/
$ tramp_file_attributes /home/bob/
(t 11 1001 1001 (15716 51505) (15506 31084) (15506 31084) 4096 17901 t (2 . 
45985) (0 839))
$ test -e /home/bob/.alias 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ ( test -d /home/bob/.alias 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 1
# Finding true name for 
`/multi:ssh:address@hidden:ssh:address@hidden:/home/bob/.alias'
# Check /home
$ test -e /home 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /multi:ssh:address@hidden:ssh:address@hidden:/home
$ tramp_file_attributes /home
(t 12 0 50 (15716 48459) (15637 39656) (15637 39656) 4096 17917 t (0 . 2) (0 
839))
# Check /home/bob
$ test -e /home/bob 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: 
/multi:ssh:address@hidden:ssh:address@hidden:/home/bob
$ tramp_file_attributes /home/bob
(t 11 1001 1001 (15716 51505) (15506 31084) (15506 31084) 4096 17901 t (2 . 
45985) (0 839))
# Check /home/bob/.alias
$ test -e /home/bob/.alias 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: 
/multi:ssh:address@hidden:ssh:address@hidden:/home/bob/.alias
$ tramp_file_attributes /home/bob/.alias
(nil 1 1001 1001 (15332 12548) (15221 21125) (15267 30346) 266 33188 t (2 . 
45988) (0 839))
# True name of `/multi:ssh:address@hidden:ssh:address@hidden:/home/bob/.alias' 
is `/home/bob/.alias'
$ test -e /home/bob/.alias 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: 
/multi:ssh:address@hidden:ssh:address@hidden:/home/bob/.alias
$ tramp_file_attributes /home/bob/.alias
(nil 1 1001 1001 (15332 12548) (15221 21125) (15267 30346) 266 33188 t (2 . 
45988) (0 839))
# Finding true name for 
`/multi:ssh:address@hidden:ssh:address@hidden:/home/bob/.alias'
# Check /home
$ test -e /home 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /multi:ssh:address@hidden:ssh:address@hidden:/home
$ tramp_file_attributes /home
(t 12 0 50 (15716 48459) (15637 39656) (15637 39656) 4096 17917 t (0 . 2) (0 
839))
# Check /home/bob
$ test -e /home/bob 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: 
/multi:ssh:address@hidden:ssh:address@hidden:/home/bob
$ tramp_file_attributes /home/bob
(t 11 1001 1001 (15716 51505) (15506 31084) (15506 31084) 4096 17901 t (2 . 
45985) (0 839))
# Check /home/bob/.alias
$ test -e /home/bob/.alias 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: 
/multi:ssh:address@hidden:ssh:address@hidden:/home/bob/.alias
$ tramp_file_attributes /home/bob/.alias
(nil 1 1001 1001 (15332 12548) (15221 21125) (15267 30346) 266 33188 t (2 . 
45988) (0 839))
# True name of `/multi:ssh:address@hidden:ssh:address@hidden:/home/bob/.alias' 
is `/home/bob/.alias'
$ test -e /home/bob/.alias 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: 
/multi:ssh:address@hidden:ssh:address@hidden:/home/bob/.alias
$ tramp_file_attributes /home/bob/.alias
(nil 1 1001 1001 (15332 12548) (15221 21125) (15267 30346) 266 33188 t (2 . 
45988) (0 839))
$ test -e /home/bob/.alias 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ test -e /home/bob/.alias 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# Encoding remote file 
/multi:ssh:address@hidden:ssh:address@hidden:/home/bob/.alias...
$ mimencode -b < /home/bob/.alias 2>/dev/null; echo tramp_exit_status $? 
IyAkSWQ6IHNrZWwuYWxpYXMsdiAxLjIgMTk5OC8wNC8yMCAxMTo0MTozMiBsdWlzZ2ggRXhw
ICQKIyBMdWlzIEZyYW5jaXNjbyBHb2564WxleiA8bHVpc2doQGRlYmlhbi5vcmc+IGJhc2Vk
IG9uIHRoYXQgb2YgVmFkaWsgVnlnb25ldHMKIyBQbGVhc2UgY2hlY2sgL3Vzci9kb2MvdGNz
aC9leGFtcGxlcy9hbGlhcyB0byBzZWUgb3RoZXIgcG9zc2libGUgdmFsdWVzLgphbGlhcwls
cwknbHMgLS1jb2xvcj1hdXRvJwphbGlhcwltZAlta2RpcgphbGlhcwlyZAlybWRpcgo=
tramp_exit_status 0
# Decoding remote file 
/multi:ssh:address@hidden:ssh:address@hidden:/home/bob/.alias...
# Decoding remote file 
/multi:ssh:address@hidden:ssh:address@hidden:/home/bob/.alias with function 
base64-decode-region...
# Decoding remote file 
/multi:ssh:address@hidden:ssh:address@hidden:/home/bob/.alias...done
$ test -e /home/bob/.alias 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: 
/multi:ssh:address@hidden:ssh:address@hidden:/home/bob/.alias
$ tramp_file_attributes /home/bob/.alias
(nil 1 1001 1001 (15716 51515) (15221 21125) (15267 30346) 266 33188 t (2 . 
45988) (0 839))
# Inserting local temp file `/tmp/tramp.9751zMo'...
$ test -e /home/bob/.alias 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ test -w /home/bob/.alias 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /home/bob/.alias 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ test -e /home/bob/.alias 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: 
/multi:ssh:address@hidden:ssh:address@hidden:/home/bob/.alias
$ tramp_file_attributes /home/bob/.alias
(nil 1 1001 1001 (15716 51515) (15221 21125) (15267 30346) 266 33188 t (2 . 
45988) (0 839))
$ test -e /home/bob/.alias 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ test -e /home/bob/.alias 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: 
/multi:ssh:address@hidden:ssh:address@hidden:/home/bob/.alias
$ tramp_file_attributes /home/bob/.alias
(nil 1 1001 1001 (15716 51515) (15221 21125) (15267 30346) 266 33188 t (2 . 
45988) (0 839))
$ test -e /home/bob/RCS/.alias\,v 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /home/bob/.alias\,v 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /home/bob/RCS/.alias 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -r /home/bob/CVS/Entries 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /home/bob/SCCS/s..alias 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /home/bob/s..alias 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /home/bob/.alias 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: 
/multi:ssh:address@hidden:ssh:address@hidden:/home/bob/.alias
$ tramp_file_attributes /home/bob/.alias
(nil 1 1001 1001 (15716 51515) (15221 21125) (15267 30346) 266 33188 t (2 . 
45988) (0 839))







reply via email to

[Prev in Thread] Current Thread [Next in Thread]