* Re: tramp again
2002-08-22 8:13 ` Andreas Schwab
@ 2002-08-22 12:19 ` Robert J. Chassell
2002-08-22 15:55 ` Kai Großjohann
0 siblings, 1 reply; 8+ messages in thread
From: Robert J. Chassell @ 2002-08-22 12:19 UTC (permalink / raw)
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:bob@titan.berkshire.net:/home/bob/www/" nil)
However, the following:
(find-file
"/multi:ssh:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/home/bob/.alias
and the directory that I did seek, namely:
/multi:ssh:bob@24.161.120.95:ssh:bob@192.168.2.48:/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 ssh#bob@24.161.120.95:ssh#bob@192.168.2.48:*
# 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...
<bob@tesop> ~ $ # Setting up remote shell environment
<bob@tesop> ~ $ <bob@tesop> ~ $ # Determining coding system
foo
bar
<bob@tesop> ~ $ # Waiting 30s for `HISTFILE=$HOME/.tramp_history; HISTSIZE=1'
<bob@tesop> ~ $ # Waiting 30s for `set +o vi +o emacs'
<bob@tesop> ~ $ # Waiting 30s for `unset MAIL MAILCHECK MAILPATH'
<bob@tesop> ~ $ # Waiting 30s for `unset CDPATH'
<bob@tesop> ~ $ # 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 <lektu@terra.es>.
# 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 <lektu@terra.es>.
# 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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/home/bob/.alias...
# Decoding remote file /multi:ssh:bob@24.161.120.95:ssh:bob@192.168.2.48:/home/bob/.alias with function base64-decode-region...
# Decoding remote file /multi:ssh:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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:bob@24.161.120.95:ssh:bob@192.168.2.48:/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))
^ permalink raw reply [flat|nested] 8+ messages in thread