# Opening connection for address@hidden using sshx... # Processing actions # 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 Are you sure you want to continue connecting (yes/no)\? * # Looking for pattern ^.*\([pP]assword\|passphrase.*\):? * # Looking for pattern .*ogin: * # Looking for pattern ^[^#$%> ]*[#$%>] * # Found remote shell prompt. # Initializing remote shell $ exec /bin/sh # Waiting 30s for remote `/bin/sh' to come up... exec /bin/sh sh-2.03$ # Setting up remote shell environment stty -inlcr -echo kill '^U' sh-2.03$ sh-2.03$ # Determining coding system foo bar sh-2.03$ # Waiting 30s for `HISTFILE=$HOME/.tramp_history; HISTSIZE=1' sh-2.03$ # Waiting 30s for `set +o vi +o emacs' sh-2.03$ # Waiting 30s for `unset MAIL MAILCHECK MAILPATH' sh-2.03$ # Waiting 30s for `unset CDPATH' sh-2.03$ # Setting shell prompt $ PS1=' ///// '; PS2=''; PS3='' $ echo hello # Waiting for remote `/bin/sh' to come up... hello # Waiting for remote `/bin/sh' to come up...done $ 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 an alias 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 . # 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 = ) { 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 . # 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 = ) { 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 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 $ cd ~; pwd /home/thaselberger $ ( test -d /home/thaselberger 2>/dev/null; echo tramp_exit_status $? ) tramp_exit_status 0 # Finding true name for `/sshx:address@hidden:/home/thaselberger/' # Check /home $ test -e /home 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/home $ tramp_file_attributes /home (t 33 0 0 (15695 48777) (15690 41530) (15695 19718) 4096 16895 t (4 . 47937) (0 2049)) # Check /home/thaselberger $ test -e /home/thaselberger 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/home/thaselberger $ tramp_file_attributes /home/thaselberger ("/oracle/home/thaselberger/" 1 0 0 (15695 56194) (15389 49429) (15389 49429) 26 41471 t (4 . 50128) (0 2049)) # Follow symlink to /oracle/home/thaselberger/ # Check /oracle $ test -e /oracle 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle $ tramp_file_attributes /oracle (t 14 502 101 (15695 20319) (15649 47861) (15695 20319) 4096 16877 t (0 . 2) (0 2054)) # Check /oracle/home $ test -e /oracle/home 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home $ tramp_file_attributes /oracle/home (t 16 0 0 (15695 20319) (15690 40254) (15695 20319) 4096 16877 t (17 . 49393) (0 2054)) # Check /oracle/home/thaselberger $ test -e /oracle/home/thaselberger 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home/thaselberger $ tramp_file_attributes /oracle/home/thaselberger (t 33 513 101 (15695 56098) (15695 55581) (15695 55581) 4096 16877 t (4 . 1355) (0 2054)) # True name of `/sshx:address@hidden:/home/thaselberger/' is `/oracle/home/thaselberger' # Finding true name for `/sshx:address@hidden:/oracle/home/thaselberger' # Check /oracle $ test -e /oracle 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle $ tramp_file_attributes /oracle (t 14 502 101 (15695 20319) (15649 47861) (15695 20319) 4096 16877 t (0 . 2) (0 2054)) # Check /oracle/home $ test -e /oracle/home 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home $ tramp_file_attributes /oracle/home (t 16 0 0 (15695 20319) (15690 40254) (15695 20319) 4096 16877 t (17 . 49393) (0 2054)) # Check /oracle/home/thaselberger $ test -e /oracle/home/thaselberger 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home/thaselberger $ tramp_file_attributes /oracle/home/thaselberger (t 33 513 101 (15695 56098) (15695 55581) (15695 55581) 4096 16877 t (4 . 1355) (0 2054)) # True name of `/sshx:address@hidden:/oracle/home/thaselberger' is `/oracle/home/thaselberger' $ ( test -d /oracle/home/thaselberger 2>/dev/null; echo tramp_exit_status $? ) tramp_exit_status 0 # Inserting directory `ls -al /sshx:address@hidden:/oracle/home/thaselberger/', wildcard no, fulldir yes $ /bin/ls -al /oracle/home/thaselberger/. total 380 -rw-r--r-- 1 thaselbe ucp 1911 Jul 30 00:25 #*mail*#23840pCc# -rw-r--r-- 1 thaselbe ucp 5956 Jul 22 11:47 #.emacs# drwxr-xr-x 33 thaselbe ucp 4096 Aug 6 16:11 . drwxr-xr-x 16 root root 4096 Aug 2 16:54 .. -rw------- 1 thaselbe ucp 374 Apr 3 18:08 .ICEauthority -rw------- 1 thaselbe ucp 174 Nov 27 2001 .Xauthority -rw-r--r-- 1 thaselbe ucp 155 Jul 10 12:20 .Xdefaults -rw-r--r-- 1 thaselbe ucp 0 May 11 2001 .addressbook -rw------- 1 thaselbe ucp 2285 May 11 2001 .addressbook.lu drwxr-xr-x 2 thaselbe ucp 4096 Aug 6 14:52 .autosave -rw------- 1 thaselbe ucp 6077 Aug 6 16:21 .bash_history -rw-r--r-- 1 thaselbe ucp 24 May 9 2001 .bash_logout -rw-r--r-- 1 thaselbe ucp 429 Jun 21 18:26 .bash_profile -rw-r--r-- 1 thaselbe ucp 1042 Jul 29 23:35 .bashrc drwx------ 2 thaselbe ucp 4096 May 11 2001 .cedit -rw------- 1 thaselbe ucp 624 Jul 29 23:28 .cvspass -rw-r--r-- 1 thaselbe ucp 5950 Jul 30 13:31 .emacs drwxr-xr-x 2 thaselbe ucp 4096 Nov 22 2001 .emacs-flc -rw-r--r-- 1 thaselbe ucp 5 Nov 9 2001 .emacs-places drwxr-xr-x 2 thaselbe ucp 53248 Aug 2 13:42 .emacs.backup -rw-r--r-- 1 thaselbe ucp 3360 Aug 5 11:44 .emacs.bmk drwxr-xr-x 3 thaselbe ucp 4096 Nov 26 2001 .emacs.d -rwxr-xr-x 1 thaselbe ucp 3449 Jun 21 14:11 .emacs_20.7 -rwxr-xr-x 1 thaselbe ucp 3448 Nov 23 2001 .emacs_20.7~ -rw-r--r-- 1 thaselbe ucp 3966 Jan 11 2002 .emacs_java -rw-r--r-- 1 thaselbe ucp 1688 Jul 29 23:36 .emacs_tramponly -rw-r--r-- 1 thaselbe ucp 1661 Jul 29 23:34 .emacs_tramponly~ -rw-r--r-- 1 thaselbe ucp 5495 Jun 20 11:48 .emacs~ drwx------ 3 thaselbe ucp 4096 Nov 9 2001 .enlightenment drwxr-xr-x 11 thaselbe ucp 4096 Mar 22 14:46 .gimp drwx------ 3 thaselbe ucp 4096 Apr 19 10:51 .gnome drwx------ 2 thaselbe ucp 4096 Nov 9 2001 .gnome_private drwxr-xr-x 2 thaselbe ucp 4096 Nov 23 2001 .java drwxr-xr-x 3 thaselbe ucp 4096 May 9 2001 .kde -rw-r--r-- 1 thaselbe ucp 435 May 9 2001 .kderc drwxr-xr-x 3 thaselbe ucp 4096 Nov 22 2001 .mc -rw-r--r-- 1 thaselbe ucp 11 Nov 12 2001 .mh_profile -rw------- 1 thaselbe ucp 23998 Aug 1 00:01 .mysql_history drwxr-xr-x 2 thaselbe ucp 4096 Jul 16 16:55 .ncftp drwxr-xr-x 5 thaselbe ucp 4096 Jul 8 15:10 .netscape -rw-r--r-- 1 thaselbe ucp 14605 Jun 6 23:35 .pinerc -rw-r--r-- 1 thaselbe ucp 3394 May 9 2001 .screenrc drwx------ 2 thaselbe ucp 4096 Jun 24 09:43 .ssh -rw------- 1 thaselbe ucp 85 Aug 6 16:21 .tramp_history -rw------- 1 thaselbe ucp 763 Jun 20 17:16 .viminfo drwxr-xr-x 5 thaselbe ucp 4096 May 9 2001 Desktop drwx------ 4 thaselbe ucp 4096 Jan 18 2002 Mail drwxr-xr-x 3 thaselbe ucp 4096 Jan 18 2002 News drwxr-xr-x 8 thaselbe ucp 4096 Jul 22 15:00 cvs -rw------- 1 thaselbe ucp 782 Apr 16 12:09 dead.letter drwxr-xr-x 5 thaselbe ucp 4096 Jul 30 13:30 emacs lrwxrwxrwx 1 thaselbe ucp 32 Jul 17 10:02 gruene -> /opt/ucp/lauterach/gruene/htdocs drwxr-xr-x 9 thaselbe ucp 4096 Feb 11 10:30 ismt drwxr-xr-x 5 thaselbe ucp 4096 Jul 19 15:46 java drwx------ 2 thaselbe ucp 4096 Jul 19 13:09 mail drwxr-xr-x 3 thaselbe ucp 4096 Jul 23 11:34 man -rw-r--r-- 1 thaselbe ucp 201 Aug 5 16:07 midlet_backend.fcgi?act=get_msg_folders drwx------ 2 thaselbe ucp 4096 Nov 9 2001 nsmail drwxr-xr-x 3 thaselbe ucp 4096 Jun 20 14:12 php -rw-r--r-- 1 thaselbe ucp 565 Nov 23 2001 plugin130_02.trace drwxr-xr-x 9 thaselbe ucp 4096 Jul 22 14:36 projects drwxr-xr-x 4 thaselbe ucp 4096 Jul 19 15:48 projects_cvs -rw-r--r-- 1 thaselbe ucp 5950 Aug 6 16:11 test.txt -rw-r--r-- 1 thaselbe ucp 5950 Aug 6 16:07 test.txt~ -rw-r--r-- 1 thaselbe ucp 5950 Aug 5 11:05 testfile.txt~ -rwxr-xr-x 1 thaselbe ucp 3449 Jul 30 18:09 testfile~ drwxr-xr-x 3 thaselbe ucp 4096 Aug 6 16:02 tests drwxr-xr-x 2 thaselbe ucp 4096 Jul 19 15:50 tmp drwxr-xr-x 19 thaselbe ucp 4096 Jul 19 16:39 uboot $ cd $ test -e /oracle/home/thaselberger/ 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home/thaselberger/ $ tramp_file_attributes /oracle/home/thaselberger/ (t 33 513 101 (15695 56197) (15695 55581) (15695 55581) 4096 16877 t (4 . 1355) (0 2054)) $ test -e /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 $ ( test -d /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? ) tramp_exit_status 1 # Finding true name for `/sshx:address@hidden:/oracle/home/thaselberger/test.txt' # Check /oracle $ test -e /oracle 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle $ tramp_file_attributes /oracle (t 14 502 101 (15695 20319) (15649 47861) (15695 20319) 4096 16877 t (0 . 2) (0 2054)) # Check /oracle/home $ test -e /oracle/home 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home $ tramp_file_attributes /oracle/home (t 16 0 0 (15695 20319) (15690 40254) (15695 20319) 4096 16877 t (17 . 49393) (0 2054)) # Check /oracle/home/thaselberger $ test -e /oracle/home/thaselberger 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home/thaselberger $ tramp_file_attributes /oracle/home/thaselberger (t 33 513 101 (15695 56197) (15695 55581) (15695 55581) 4096 16877 t (4 . 1355) (0 2054)) # Check /oracle/home/thaselberger/test.txt $ test -e /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home/thaselberger/test.txt $ tramp_file_attributes /oracle/home/thaselberger/test.txt (nil 1 513 101 (15695 56150) (15695 55581) (15695 55581) 5950 33188 t (4 . 703) (0 2054)) # True name of `/sshx:address@hidden:/oracle/home/thaselberger/test.txt' is `/oracle/home/thaselberger/test.txt' $ test -e /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home/thaselberger/test.txt $ tramp_file_attributes /oracle/home/thaselberger/test.txt (nil 1 513 101 (15695 56150) (15695 55581) (15695 55581) 5950 33188 t (4 . 703) (0 2054)) # Finding true name for `/sshx:address@hidden:/oracle/home/thaselberger/test.txt' # Check /oracle $ test -e /oracle 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle $ tramp_file_attributes /oracle (t 14 502 101 (15695 20319) (15649 47861) (15695 20319) 4096 16877 t (0 . 2) (0 2054)) # Check /oracle/home $ test -e /oracle/home 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home $ tramp_file_attributes /oracle/home (t 16 0 0 (15695 20319) (15690 40254) (15695 20319) 4096 16877 t (17 . 49393) (0 2054)) # Check /oracle/home/thaselberger $ test -e /oracle/home/thaselberger 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home/thaselberger $ tramp_file_attributes /oracle/home/thaselberger (t 33 513 101 (15695 56197) (15695 55581) (15695 55581) 4096 16877 t (4 . 1355) (0 2054)) # Check /oracle/home/thaselberger/test.txt $ test -e /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home/thaselberger/test.txt $ tramp_file_attributes /oracle/home/thaselberger/test.txt (nil 1 513 101 (15695 56150) (15695 55581) (15695 55581) 5950 33188 t (4 . 703) (0 2054)) # True name of `/sshx:address@hidden:/oracle/home/thaselberger/test.txt' is `/oracle/home/thaselberger/test.txt' $ test -e /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home/thaselberger/test.txt $ tramp_file_attributes /oracle/home/thaselberger/test.txt (nil 1 513 101 (15695 56150) (15695 55581) (15695 55581) 5950 33188 t (4 . 703) (0 2054)) $ ( test -d /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? ) tramp_exit_status 1 $ test -e /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 $ test -e /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # Encoding remote file /sshx:address@hidden:/oracle/home/thaselberger/test.txt... $ mimencode -b < /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? Ozs7OyBlbWFjcyBzZXJ2ZXIKKHNlcnZlci1zdGFydCkKCjs7Ozsgd2hlZWwgbW91c2Ugc3Vw cG9ydAo7Oyhtd2hlZWwtaW5zdGFsbCkKCjs7OzsgbWFrZSB5IG9yIG4gc3VmZmljaWVudCBh bnN3ZXIKKGZzZXQgJ3llcy1vci1uby1wICd5LW9yLW4tcCkKCjs7OzsgZGVidWdnaW5nCjs7 KHNldHEgZGVidWctb24tZXJyb3IgdCkKCjs7Ozsgc2V0dGluZyBmb3IgY3lnd2luCihpZiAo c3RyaW5nLWVxdWFsICJjeWd3aW4iIChnZXRlbnYgIlRFUk0iKSkKICAgIChwcm9nbiAKICAg ICAgOzsgbWFrZSBCUyBkZWxldGUgY2hhcmFjdGVycyBiYWNrd2FyZHMsIGp1c3QgbGlrZSBE RUwKICAgICAgKGdsb2JhbC1zZXQta2V5ICJcQy1oIiAnYmFja3dhcmQtZGVsZXRlLWNoYXIt dW50YWJpZnkpCiAgICAgIDs7IChzZXRxIGludmVyc2UtdmlkZW8gdCkKICAgICAgKSkKCjs7 OzsgdHJ5IGV4Y2hhbmdlIGJhY2tzcGFjZSBhbmQgZGVsCjsoa2V5Ym9hcmQtdHJhbnNsYXRl ID9cQy1oID9cQy0/KQo7KGtleWJvYXJkLXRyYW5zbGF0ZSA/XEMtPyA/XEMtaCkKCjs7Ozsg aHRtbC1oZWxwZXItbW9kZQooYWRkLXRvLWxpc3QgJ2xvYWQtcGF0aCAoZXhwYW5kLWZpbGUt bmFtZSAifi9lbWFjcy9zaXRlLWxpc3AvaHRtbC1oZWxwZXItbW9kZSIpKQooYXV0b2xvYWQg J2h0bWwtaGVscGVyLW1vZGUgImh0bWwtaGVscGVyLW1vZGUiICJZYXkgSFRNTCIgdCkKKHNl dHEgYXV0by1tb2RlLWFsaXN0IChjb25zICcoIlxcLltwc10/aHRtbCQiIC4gaHRtbC1oZWxw ZXItbW9kZSkgYXV0by1tb2RlLWFsaXN0KSkKOzsoc2V0cSBhdXRvLW1vZGUtYWxpc3QgKGNv bnMgJygiXFwucGhwJCIgLiBodG1sLWhlbHBlci1tb2RlKSBhdXRvLW1vZGUtYWxpc3QpKQoo c2V0cSBhdXRvLW1vZGUtYWxpc3QgKGNvbnMgJygiXFwudHBsJCIgLiBodG1sLWhlbHBlci1t b2RlKSBhdXRvLW1vZGUtYWxpc3QpKQooc2V0cSBodG1sLWhlbHBlci1idWlsZC1uZXctYnVm ZmVyIG5pbCkKCjs7OzsgdHVyYXFkJ3MgcGhwLW1vZGUKKGFkZC10by1saXN0ICdsb2FkLXBh dGggKGV4cGFuZC1maWxlLW5hbWUgIn4vZW1hY3Mvc2l0ZS1saXNwL3BocC1tb2RlIikpCihs b2FkLWxpYnJhcnkgInBocC1tb2RlLTEwMiIpCgo7Ozs7IHRyYW1wCihhZGQtdG8tbGlzdCAn bG9hZC1wYXRoIChleHBhbmQtZmlsZS1uYW1lICJ+L2VtYWNzL3RyYW1wL2xpc3AiKSkKKHJl cXVpcmUgJ3RyYW1wKQoKOzs7OyBBdWNUZVgKKGFkZC10by1saXN0ICdsb2FkLXBhdGggKGV4 cGFuZC1maWxlLW5hbWUgIn4vZW1hY3Mvc2l0ZS1saXNwL2F1Y3RleCIpKQoocmVxdWlyZSAn dGV4LXNpdGUpCgo7Ozs7IGNwZXJsIG1vZGUKKGRlZnVuIG1vZGlmeS1hbGlzdCAoYWxpc3Qt c3ltYm9sIGtleSB2YWx1ZSAmb3B0aW9uYWwgc2VhcmNoLWNkcikKICAobGV0ICgoYWxpc3Qg KHN5bWJvbC12YWx1ZSBhbGlzdC1zeW1ib2wpKSkKICAgICh3aGlsZSBhbGlzdAogICAgICAo aWYgKGVxIChpZiBzZWFyY2gtY2RyCgkJICAoY2RyIChjYXIgYWxpc3QpKQoJCShjYXIgKGNh ciBhbGlzdCkpKSBrZXkpCgkgIChzZXRjZHIgKGNhciBhbGlzdCkgdmFsdWUpCgkoc2V0cSBh bGlzdCAoY2RyIGFsaXN0KSkpKSkpCgoobW9kaWZ5LWFsaXN0ICdpbnRlcnByZXRlci1tb2Rl LWFsaXN0ICdwZXJsLW1vZGUgJ2NwZXJsLW1vZGUgdCkKKG1vZGlmeS1hbGlzdCAnYXV0by1t b2RlLWFsaXN0ICAgICAgICAncGVybC1tb2RlICdjcGVybC1tb2RlIHQpCgo7Ozs7IGtleSBi aW5kaW5ncwo7OyBSZWJpbmQgYEMteCBDLWInIGZvciBgYnMtc2hvdycKOzsgKGdsb2JhbC1z ZXQta2V5ICJcQy14XEMtYiIgJ2J1ZmZlci1tZW51KQooZ2xvYmFsLXNldC1rZXkgIlxDLXhc Qy1iIiAnYnMtc2hvdykKOzsgQmluZCBgTS0rJyB0byB0byBgZGFiYnJldi1leHBhbmQnCjs7 IG1heWJlIGdpdmUgaGlwcGllIGV4cGFuZCBhIHRyeSBsYXRlciBvbiA/Cjs7KGdsb2JhbC1z ZXQta2V5ICJcTS0rIiAnZGFiYnJldi1leHBhbmQpCihnbG9iYWwtc2V0LWtleSAiXE0tKyIg J2hpcHBpZS1leHBhbmQpCgo7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Owo7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7OwooY3VzdG9tLXNldC12YXJpYWJsZXMKICA7OyBjdXN0b20tc2V0 LXZhcmlhYmxlcyB3YXMgYWRkZWQgYnkgQ3VzdG9tIC0tIGRvbid0IGVkaXQgb3IgY3V0L3Bh c3RlIGl0IQogIDs7IFlvdXIgaW5pdCBmaWxlIHNob3VsZCBjb250YWluIG9ubHkgb25lIHN1 Y2ggaW5zdGFuY2UuCiAnKGFuZ2UtZnRwLWZ0cC1wcm9ncmFtLWFyZ3MgKHF1b3RlICgiLWki ICItbiIgIi1nIiAiLXYiICItdSIpKSkKICcoYXV0by1jb21wcmVzc2lvbi1tb2RlIHQgbmls IChqa2EtY29tcHIpKQogJyhhdXRvLXNhdmUtdGltZW91dCAxMjApCiAnKGJhY2t1cC1kaXJl Y3RvcnktYWxpc3QgKHF1b3RlICgoIi4qIiAuICJ+Ly5lbWFjcy5iYWNrdXAiKSkpKQogJyhi cy1tYXgtd2luZG93LWhlaWdodCAzMCkKICcoY2FzZS1mb2xkLXNlYXJjaCB0KQogJyhjb2x1 bW4tbnVtYmVyLW1vZGUgdCkKICcoY3BlcmwtZm9udC1sb2NrIHQpCiAnKGNwZXJsLWxhenkt aGVscC10aW1lIDEpCiAnKGNwZXJsLXNjYW4tZmlsZXMtcmVnZXhwICJcXC5cXChbcFBdW0xs bV1cXHx4c1xcfGY/Y2dpXFwpJCIpCiAnKGNwZXJsLXVuZGVyLWFzLWNoYXIgdCkKICcoY3Vy cmVudC1sYW5ndWFnZS1lbnZpcm9ubWVudCAiTGF0aW4tMSIpCiAnKGRhYmJyZXYtYWJicmV2 LXNraXAtbGVhZGluZy1yZWdleHAgIlxcXFwkIikKICcoZGVmYXVsdC1mcmFtZS1hbGlzdCAo cXVvdGUgKCh0b29sLWJhci1saW5lcyAuIDApIChtZW51LWJhci1saW5lcyAuIDEpICh3aWR0 aCAuIDgwKSAoaGVpZ2h0IC4gNDApKSkpCiAnKGRlZmF1bHQtaW5wdXQtbWV0aG9kICJsYXRp bi0xLXByZWZpeCIpCiAnKGRlc2t0b3AtZW5hYmxlIHQgbmlsIChkZXNrdG9wKSkKICcoZ2xv YmFsLWZvbnQtbG9jay1tb2RlIHQgbmlsIChmb250LWxvY2spKQogJyhoaXBwaWUtZXhwYW5k LXRyeS1mdW5jdGlvbnMtbGlzdCAocXVvdGUgKHRyeS1leHBhbmQtZGFiYnJldiB0cnktZXhw YW5kLWRhYmJyZXYtdmlzaWJsZSB0cnktZXhwYW5kLWRhYmJyZXYtYWxsLWJ1ZmZlcnMgdHJ5 LWV4cGFuZC1kYWJicmV2LWZyb20ta2lsbCB0cnktY29tcGxldGUtZmlsZS1uYW1lLXBhcnRp YWxseSB0cnktY29tcGxldGUtZmlsZS1uYW1lIHRyeS1leHBhbmQtbGlzdCB0cnktZXhwYW5k LWxpbmUgdHJ5LWNvbXBsZXRlLWxpc3Atc3ltYm9sLXBhcnRpYWxseSB0cnktY29tcGxldGUt bGlzcC1zeW1ib2wpKSkKICcoaW1lbnUtbWF4LWl0ZW0tbGVuZ3RoIDEwMCkKICcoaW1lbnUt c29ydC1mdW5jdGlvbiAocXVvdGUgaW1lbnUtLXNvcnQtYnktbmFtZSkpCiAnKGluaXRpYWwt ZnJhbWUtYWxpc3QgKHF1b3RlICgodG9wIC4gMjApIChsZWZ0IC4gMzAwKSAod2lkdGggLiAx MDApIChoZWlnaHQgLiA1MikpKSkKICcobW91c2Utd2hlZWwtbW9kZSB0IG5pbCAobXdoZWVs KSkKICcobW91c2UteWFuay1hdC1wb2ludCB0KQogJyhyZXF1aXJlLWZpbmFsLW5ld2xpbmUg dCkKICcoc2Nyb2xsLWJhci1tb2RlIG5pbCkKICcoc2hvdy1wYXJlbi1tb2RlIHQgbmlsIChw YXJlbikpCiAnKHNwZWVkYmFyLWFjdGl2aXR5LWNoYW5nZS1mb2N1cy1mbGFnIHQpCiAnKHNw ZWVkYmFyLWRpcmVjdG9yeS1idXR0b24tdHJpbS1tZXRob2QgKHF1b3RlIHNwYW4pKQogJyhz cGVlZGJhci1mcmFtZS1wYXJhbWV0ZXJzIChxdW90ZSAoKG1pbmlidWZmZXIpICh3aWR0aCAu IDM4KSAoaGVpZ2h0IC4gNTQpICh0b3AgLiAwKSAobGVmdCAuIDApIChib3JkZXItd2lkdGgg LiAwKSAobWVudS1iYXItbGluZXMgLiAwKSAodG9vbC1iYXItbGluZXMgLiAwKSAodW5zcGxp dHRhYmxlIC4gdCkpKSkKICcoc3BlZWRiYXItZnJhbWUtcGxpc3QgKHF1b3RlIChtaW5pYnVm ZmVyIG5pbCB3aWR0aCAzOCBib3JkZXItd2lkdGggMCBpbnRlcm5hbC1ib3JkZXItd2lkdGgg MCB1bnNwbGl0dGFibGUgdCBkZWZhdWx0LXRvb2xiYXItdmlzaWJsZS1wIG5pbCBoYXMtbW9k ZWxpbmUtcCBuaWwgbWVudWJhci12aXNpYmxlLXAgbmlsKSkpCiAnKHNwZWVkYmFyLXN1cHBv cnRlZC1leHRlbnNpb24tZXhwcmVzc2lvbnMgKHF1b3RlICgiLltjaF1cXChcXCtcXCtcXHxw cFxcfGNcXHxoXFx8eHhcXCk/IiAiLnRleFxcKGlcXChuZm9cXCk/XFwpPyIgIi5lbCIgIi5l bWFjcyIgIi5sIiAiLmxzcCIgIi5wIiAiLmphdmEiICIuZlxcKDkwXFx8NzdcXHxvclxcKT8i ICIuYWRhIiAiLnBbbG1dIiAiLnRjbCIgIi5tIiAiLnNjbSIgIi5mP2NnaSIgIi5weSIgIi5n IiAiLnM/aHRtbCIgIltNbV1ha2VmaWxlXFwoXFwuaW5cXCk/IiAiLmluYyIgIi5waHAiKSkp CiAnKHNwZWVkYmFyLXRhZy1oaWVyYXJjaHktbWV0aG9kIChxdW90ZSAoc3BlZWRiYXItc29y dC10YWctaGllcmFyY2h5IHNwZWVkYmFyLXRyaW0td29yZHMtdGFnLWhpZXJhcmNoeSBzcGVl ZGJhci1wcmVmaXgtZ3JvdXAtdGFnLWhpZXJhcmNoeSkpKQogJyhzcGVlZGJhci11c2UtaW1h Z2VzIG5pbCkKICcoc3FsLXVzZXIgInJvb3QiKQogJyh0YWItd2lkdGggOCkKICcodG9vbC1i YXItbW9kZSBuaWwgbmlsICh0b29sLWJhcikpCiAnKHRyYW1wLWF1dG8tc2F2ZS1kaXJlY3Rv cnkgIn4vLmF1dG9zYXZlIikKICcodHJhbXAtZGVidWctYnVmZmVyIHQpCiAnKHRyYW1wLWRl ZmF1bHQtbWV0aG9kICJzY3AiKQogJyh1bmlxdWlmeS1idWZmZXItbmFtZS1zdHlsZSAocXVv dGUgcG9zdC1mb3J3YXJkLWFuZ2xlLWJyYWNrZXRzKSBuaWwgKHVuaXF1aWZ5KSkKICcodXNl ci1tYWlsLWFkZHJlc3MgInRob21hcy5oYXNlbGJlcmdlckB1Y3BhZy5jb20iKQogJyh2aWV3 LXJlYWQtb25seSB0KQogJyh3b21hbi1kZWZhdWx0LWluZGVudCA3KQogJyh3b21hbi1maWxs LWNvbHVtbiA4MCkKICcod29tYW4taW1lbnUgdCkKICcod29tYW4tc2hvdy1sb2cgdCkKICco d29tYW4tdXNlLW93bi1mcmFtZSBuaWwpKQooY3VzdG9tLXNldC1mYWNlcwogIDs7IGN1c3Rv bS1zZXQtZmFjZXMgd2FzIGFkZGVkIGJ5IEN1c3RvbSAtLSBkb24ndCBlZGl0IG9yIGN1dC9w YXN0ZSBpdCEKICA7OyBZb3VyIGluaXQgZmlsZSBzaG91bGQgY29udGFpbiBvbmx5IG9uZSBz dWNoIGluc3RhbmNlLgogJyhjdXN0b20tZmFjZS10YWctZmFjZSAoKHQgKDppbmhlcml0IHZh cmlhYmxlLXBpdGNoIDp3ZWlnaHQgYm9sZCkpKSkKICcoY3VzdG9tLWdyb3VwLXRhZy1mYWNl ICgodCAoOmZvcmVncm91bmQgImJsdWUiIDp3ZWlnaHQgYm9sZCkpKSkKICcoY3VzdG9tLWdy b3VwLXRhZy1mYWNlLTEgKCh0ICg6aW5oZXJpdCB2YXJpYWJsZS1waXRjaCA6Zm9yZWdyb3Vu ZCAicmVkIiA6d2VpZ2h0IGJvbGQpKSkpCiAnKGN1c3RvbS12YXJpYWJsZS10YWctZmFjZSAo KHQgKDppbmhlcml0IHZhcmlhYmxlLXBpdGNoIDpmb3JlZ3JvdW5kICJibHVlIiA6d2VpZ2h0 IGJvbGQpKSkpCiAnKGh0bWwtaGVscGVyLWJvbGQtZmFjZSAoKHQgKDpmb3JlZ3JvdW5kICJw ZXJ1IikpKSkKICcoaHRtbC10YWctZmFjZSAoKHQgKDpmb3JlZ3JvdW5kICJkb2RnZXIgYmx1 ZSIpKSkpKQoKKHB1dCAndXBjYXNlLXJlZ2lvbiAnZGlzYWJsZWQgbmlsKQoocHV0ICdkb3du Y2FzZS1yZWdpb24gJ2Rpc2FibGVkIG5pbCkKCihwdXQgJ25hcnJvdy10by1yZWdpb24gJ2Rp c2FibGVkIG5pbCkKCgo7Ozs7IGRlc2t0b3Agc2F2ZXIKKGRlc2t0b3AtbG9hZC1kZWZhdWx0 KQooZGVza3RvcC1yZWFkKQo7OyBsaW1pdCBzYXZlZCBpdGVtcyB0byB4CihhZGQtaG9vayAn a2lsbC1lbWFjcy1ob29rCgkgICcobGFtYmRhICgpCgkgICAgIChkZXNrdG9wLXRydW5jYXRl IHNlYXJjaC1yaW5nIDUpCgkgICAgIChkZXNrdG9wLXRydW5jYXRlIHJlZ2V4cC1zZWFyY2gt cmluZyA1KSkpCg== tramp_exit_status 0 # Decoding remote file /sshx:address@hidden:/oracle/home/thaselberger/test.txt... # Decoding remote file /sshx:address@hidden:/oracle/home/thaselberger/test.txt with function base64-decode-region... # Decoding remote file /sshx:address@hidden:/oracle/home/thaselberger/test.txt...done $ test -e /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home/thaselberger/test.txt $ tramp_file_attributes /oracle/home/thaselberger/test.txt (nil 1 513 101 (15695 56209) (15695 55581) (15695 55581) 5950 33188 t (4 . 703) (0 2054)) # Inserting local temp file `c:/tramp.1716Ru9'... $ test -e /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home/thaselberger/test.txt $ tramp_file_attributes /oracle/home/thaselberger/test.txt (nil 1 513 101 (15695 56209) (15695 55581) (15695 55581) 5950 33188 t (4 . 703) (0 2054)) $ test -e /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 $ test -w /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 $ test -e /oracle/home/thaselberger/RCS/test.txt\,v 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 1 $ test -e /oracle/home/thaselberger/test.txt\,v 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 1 $ test -e /oracle/home/thaselberger/RCS/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 1 $ test -r /oracle/home/thaselberger/CVS/Entries 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 1 $ test -e /oracle/home/thaselberger/SCCS/s.test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 1 $ test -e /oracle/home/thaselberger/s.test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 1 $ test -e /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home/thaselberger/test.txt $ tramp_file_attributes /oracle/home/thaselberger/test.txt (nil 1 513 101 (15695 56209) (15695 55581) (15695 55581) 5950 33188 t (4 . 703) (0 2054)) $ test -e /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home/thaselberger/test.txt $ tramp_file_attributes /oracle/home/thaselberger/test.txt (nil 1 513 101 (15695 56209) (15695 55581) (15695 55581) 5950 33188 t (4 . 703) (0 2054)) $ test -e /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 $ test -w /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 $ test -e /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 $ test -e /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home/thaselberger/test.txt $ tramp_file_attributes /oracle/home/thaselberger/test.txt (nil 1 513 101 (15695 56209) (15695 55581) (15695 55581) 5950 33188 t (4 . 703) (0 2054)) $ cd /oracle/home/thaselberger/ 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 $ /bin/ls -a -d test.txt.\~* 2>/dev/null | while read f; do if test -d "$f" 2>/dev/null; then echo "$f/"; else echo "$f"; fi; done $ cd $ test -e /oracle/home/thaselberger/test.txt 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home/thaselberger/test.txt $ tramp_file_attributes /oracle/home/thaselberger/test.txt (nil 1 513 101 (15695 56209) (15695 55581) (15695 55581) 5950 33188 t (4 . 703) (0 2054)) $ mv -f /oracle/home/thaselberger/test.txt /oracle/home/thaselberger/test.txt\~ 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 $ test -e /oracle/home/thaselberger/test.txt\~ 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 $ test -e /oracle/home/thaselberger/test.txt\~ 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 # file attributes with perl: /sshx:address@hidden:/oracle/home/thaselberger/test.txt~ $ tramp_file_attributes /oracle/home/thaselberger/test.txt\~ (nil 1 513 101 (15695 56209) (15695 55581) (15695 56293) 5950 33188 t (4 . 703) (0 2054)) # Encoding region... # Encoding region using function... # Decoding region into remote file /sshx:address@hidden:/oracle/home/thaselberger/test.txt... $ mimencode -u -b >/oracle/home/thaselberger/test.txt <<'EOF' # Sending data to remote host... ICA7Ozs7IGVtYWNzIHNlcnZlcgooc2VydmVyLXN0YXJ0KQoKOzs7OyB3aGVlbCBtb3VzZSBzdXBw b3J0Cjs7KG13aGVlbC1pbnN0YWxsKQoKOzs7OyBtYWtlIHkgb3IgbiBzdWZmaWNpZW50IGFuc3dl cgooZnNldCAneWVzLW9yLW5vLXAgJ3ktb3Itbi1wKQoKOzs7OyBkZWJ1Z2dpbmcKOzsoc2V0cSBk ZWJ1Zy1vbi1lcnJvciB0KQoKOzs7OyBzZXR0aW5nIGZvciBjeWd3aW4KKGlmIChzdHJpbmctZXF1 YWwgImN5Z3dpbiIgKGdldGVudiAiVEVSTSIpKQogICAgKHByb2duIAogICAgICA7OyBtYWtlIEJT IGRlbGV0ZSBjaGFyYWN0ZXJzIGJhY2t3YXJkcywganVzdCBsaWtlIERFTAogICAgICAoZ2xvYmFs LXNldC1rZXkgIlxDLWgiICdiYWNrd2FyZC1kZWxldGUtY2hhci11bnRhYmlmeSkKICAgICAgOzsg KHNldHEgaW52ZXJzZS12aWRlbyB0KQogICAgICApKQoKOzs7OyB0cnkgZXhjaGFuZ2UgYmFja3Nw YWNlIGFuZCBkZWwKOyhrZXlib2FyZC10cmFuc2xhdGUgP1xDLWggP1xDLT8pCjsoa2V5Ym9hcmQt dHJhbnNsYXRlID9cQy0/ID9cQy1oKQoKOzs7OyBodG1sLWhlbHBlci1tb2RlCihhZGQtdG8tbGlz dCAnbG9hZC1wYXRoIChleHBhbmQtZmlsZS1uYW1lICJ+L2VtYWNzL3NpdGUtbGlzcC9odG1sLWhl bHBlci1tb2RlIikpCihhdXRvbG9hZCAnaHRtbC1oZWxwZXItbW9kZSAiaHRtbC1oZWxwZXItbW9k ZSIgIllheSBIVE1MIiB0KQooc2V0cSBhdXRvLW1vZGUtYWxpc3QgKGNvbnMgJygiXFwuW3BzXT9o dG1sJCIgLiBodG1sLWhlbHBlci1tb2RlKSBhdXRvLW1vZGUtYWxpc3QpKQo7OyhzZXRxIGF1dG8t bW9kZS1hbGlzdCAoY29ucyAnKCJcXC5waHAkIiAuIGh0bWwtaGVscGVyLW1vZGUpIGF1dG8tbW9k ZS1hbGlzdCkpCihzZXRxIGF1dG8tbW9kZS1hbGlzdCAoY29ucyAnKCJcXC50cGwkIiAuIGh0bWwt aGVscGVyLW1vZGUpIGF1dG8tbW9kZS1hbGlzdCkpCihzZXRxIGh0bWwtaGVscGVyLWJ1aWxkLW5l dy1idWZmZXIgbmlsKQoKOzs7OyB0dXJhcWQncyBwaHAtbW9kZQooYWRkLXRvLWxpc3QgJ2xvYWQt cGF0aCAoZXhwYW5kLWZpbGUtbmFtZSAifi9lbWFjcy9zaXRlLWxpc3AvcGhwLW1vZGUiKSkKKGxv YWQtbGlicmFyeSAicGhwLW1vZGUtMTAyIikKCjs7OzsgdHJhbXAKKGFkZC10by1saXN0ICdsb2Fk LXBhdGggKGV4cGFuZC1maWxlLW5hbWUgIn4vZW1hY3MvdHJhbXAvbGlzcCIpKQoocmVxdWlyZSAn dHJhbXApCgo7Ozs7IEF1Y1RlWAooYWRkLXRvLWxpc3QgJ2xvYWQtcGF0aCAoZXhwYW5kLWZpbGUt bmFtZSAifi9lbWFjcy9zaXRlLWxpc3AvYXVjdGV4IikpCihyZXF1aXJlICd0ZXgtc2l0ZSkKCjs7 OzsgY3BlcmwgbW9kZQooZGVmdW4gbW9kaWZ5LWFsaXN0IChhbGlzdC1zeW1ib2wga2V5IHZhbHVl ICZvcHRpb25hbCBzZWFyY2gtY2RyKQogIChsZXQgKChhbGlzdCAoc3ltYm9sLXZhbHVlIGFsaXN0 LXN5bWJvbCkpKQogICAgKHdoaWxlIGFsaXN0CiAgICAgIChpZiAoZXEgKGlmIHNlYXJjaC1jZHIK CQkgIChjZHIgKGNhciBhbGlzdCkpCgkJKGNhciAoY2FyIGFsaXN0KSkpIGtleSkKCSAgKHNldGNk ciAoY2FyIGFsaXN0KSB2YWx1ZSkKCShzZXRxIGFsaXN0IChjZHIgYWxpc3QpKSkpKSkKCihtb2Rp ZnktYWxpc3QgJ2ludGVycHJldGVyLW1vZGUtYWxpc3QgJ3BlcmwtbW9kZSAnY3BlcmwtbW9kZSB0 KQoobW9kaWZ5LWFsaXN0ICdhdXRvLW1vZGUtYWxpc3QgICAgICAgICdwZXJsLW1vZGUgJ2NwZXJs LW1vZGUgdCkKCjs7Ozsga2V5IGJpbmRpbmdzCjs7IFJlYmluZCBgQy14IEMtYicgZm9yIGBicy1z aG93Jwo7OyAoZ2xvYmFsLXNldC1rZXkgIlxDLXhcQy1iIiAnYnVmZmVyLW1lbnUpCihnbG9iYWwt c2V0LWtleSAiXEMteFxDLWIiICdicy1zaG93KQo7OyBCaW5kIGBNLSsnIHRvIHRvIGBkYWJicmV2 LWV4cGFuZCcKOzsgbWF5YmUgZ2l2ZSBoaXBwaWUgZXhwYW5kIGEgdHJ5IGxhdGVyIG9uID8KOzso Z2xvYmFsLXNldC1rZXkgIlxNLSsiICdkYWJicmV2LWV4cGFuZCkKKGdsb2JhbC1zZXQta2V5ICJc TS0rIiAnaGlwcGllLWV4cGFuZCkKCjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Cjs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7CihjdXN0b20tc2V0LXZhcmlhYmxlcwogIDs7IGN1c3RvbS1zZXQtdmFyaWFi bGVzIHdhcyBhZGRlZCBieSBDdXN0b20gLS0gZG9uJ3QgZWRpdCBvciBjdXQvcGFzdGUgaXQhCiAg OzsgWW91ciBpbml0IGZpbGUgc2hvdWxkIGNvbnRhaW4gb25seSBvbmUgc3VjaCBpbnN0YW5jZS4K ICcoYW5nZS1mdHAtZnRwLXByb2dyYW0tYXJncyAocXVvdGUgKCItaSIgIi1uIiAiLWciICItdiIg Ii11IikpKQogJyhhdXRvLWNvbXByZXNzaW9uLW1vZGUgdCBuaWwgKGprYS1jb21wcikpCiAnKGF1 dG8tc2F2ZS10aW1lb3V0IDEyMCkKICcoYmFja3VwLWRpcmVjdG9yeS1hbGlzdCAocXVvdGUgKCgi LioiIC4gIn4vLmVtYWNzLmJhY2t1cCIpKSkpCiAnKGJzLW1heC13aW5kb3ctaGVpZ2h0IDMwKQog JyhjYXNlLWZvbGQtc2VhcmNoIHQpCiAnKGNvbHVtbi1udW1iZXItbW9kZSB0KQogJyhjcGVybC1m b250LWxvY2sgdCkKICcoY3BlcmwtbGF6eS1oZWxwLXRpbWUgMSkKICcoY3Blcmwtc2Nhbi1maWxl cy1yZWdleHAgIlxcLlxcKFtwUF1bTGxtXVxcfHhzXFx8Zj9jZ2lcXCkkIikKICcoY3BlcmwtdW5k ZXItYXMtY2hhciB0KQogJyhjdXJyZW50LWxhbmd1YWdlLWVudmlyb25tZW50ICJMYXRpbi0xIikK ICcoZGFiYnJldi1hYmJyZXYtc2tpcC1sZWFkaW5nLXJlZ2V4cCAiXFxcXCQiKQogJyhkZWZhdWx0 LWZyYW1lLWFsaXN0IChxdW90ZSAoKHRvb2wtYmFyLWxpbmVzIC4gMCkgKG1lbnUtYmFyLWxpbmVz IC4gMSkgKHdpZHRoIC4gODApIChoZWlnaHQgLiA0MCkpKSkKICcoZGVmYXVsdC1pbnB1dC1tZXRo b2QgImxhdGluLTEtcHJlZml4IikKICcoZGVza3RvcC1lbmFibGUgdCBuaWwgKGRlc2t0b3ApKQog JyhnbG9iYWwtZm9udC1sb2NrLW1vZGUgdCBuaWwgKGZvbnQtbG9jaykpCiAnKGhpcHBpZS1leHBh bmQtdHJ5LWZ1bmN0aW9ucy1saXN0IChxdW90ZSAodHJ5LWV4cGFuZC1kYWJicmV2IHRyeS1leHBh bmQtZGFiYnJldi12aXNpYmxlIHRyeS1leHBhbmQtZGFiYnJldi1hbGwtYnVmZmVycyB0cnktZXhw YW5kLWRhYmJyZXYtZnJvbS1raWxsIHRyeS1jb21wbGV0ZS1maWxlLW5hbWUtcGFydGlhbGx5IHRy eS1jb21wbGV0ZS1maWxlLW5hbWUgdHJ5LWV4cGFuZC1saXN0IHRyeS1leHBhbmQtbGluZSB0cnkt Y29tcGxldGUtbGlzcC1zeW1ib2wtcGFydGlhbGx5IHRyeS1jb21wbGV0ZS1saXNwLXN5bWJvbCkp KQogJyhpbWVudS1tYXgtaXRlbS1sZW5ndGggMTAwKQogJyhpbWVudS1zb3J0LWZ1bmN0aW9uIChx dW90ZSBpbWVudS0tc29ydC1ieS1uYW1lKSkKICcoaW5pdGlhbC1mcmFtZS1hbGlzdCAocXVvdGUg KCh0b3AgLiAyMCkgKGxlZnQgLiAzMDApICh3aWR0aCAuIDEwMCkgKGhlaWdodCAuIDUyKSkpKQog Jyhtb3VzZS13aGVlbC1tb2RlIHQgbmlsIChtd2hlZWwpKQogJyhtb3VzZS15YW5rLWF0LXBvaW50 IHQpCiAnKHJlcXVpcmUtZmluYWwtbmV3bGluZSB0KQogJyhzY3JvbGwtYmFyLW1vZGUgbmlsKQog JyhzaG93LXBhcmVuLW1vZGUgdCBuaWwgKHBhcmVuKSkKICcoc3BlZWRiYXItYWN0aXZpdHktY2hh bmdlLWZvY3VzLWZsYWcgdCkKICcoc3BlZWRiYXItZGlyZWN0b3J5LWJ1dHRvbi10cmltLW1ldGhv ZCAocXVvdGUgc3BhbikpCiAnKHNwZWVkYmFyLWZyYW1lLXBhcmFtZXRlcnMgKHF1b3RlICgobWlu aWJ1ZmZlcikgKHdpZHRoIC4gMzgpIChoZWlnaHQgLiA1NCkgKHRvcCAuIDApIChsZWZ0IC4gMCkg KGJvcmRlci13aWR0aCAuIDApIChtZW51LWJhci1saW5lcyAuIDApICh0b29sLWJhci1saW5lcyAu IDApICh1bnNwbGl0dGFibGUgLiB0KSkpKQogJyhzcGVlZGJhci1mcmFtZS1wbGlzdCAocXVvdGUg KG1pbmlidWZmZXIgbmlsIHdpZHRoIDM4IGJvcmRlci13aWR0aCAwIGludGVybmFsLWJvcmRlci13 aWR0aCAwIHVuc3BsaXR0YWJsZSB0IGRlZmF1bHQtdG9vbGJhci12aXNpYmxlLXAgbmlsIGhhcy1t b2RlbGluZS1wIG5pbCBtZW51YmFyLXZpc2libGUtcCBuaWwpKSkKICcoc3BlZWRiYXItc3VwcG9y dGVkLWV4dGVuc2lvbi1leHByZXNzaW9ucyAocXVvdGUgKCIuW2NoXVxcKFxcK1xcK1xcfHBwXFx8 Y1xcfGhcXHx4eFxcKT8iICIudGV4XFwoaVxcKG5mb1xcKT9cXCk/IiAiLmVsIiAiLmVtYWNzIiAi LmwiICIubHNwIiAiLnAiICIuamF2YSIgIi5mXFwoOTBcXHw3N1xcfG9yXFwpPyIgIi5hZGEiICIu cFtsbV0iICIudGNsIiAiLm0iICIuc2NtIiAiLmY/Y2dpIiAiLnB5IiAiLmciICIucz9odG1sIiAi W01tXWFrZWZpbGVcXChcXC5pblxcKT8iICIuaW5jIiAiLnBocCIpKSkKICcoc3BlZWRiYXItdGFn LWhpZXJhcmNoeS1tZXRob2QgKHF1b3RlIChzcGVlZGJhci1zb3J0LXRhZy1oaWVyYXJjaHkgc3Bl ZWRiYXItdHJpbS13b3Jkcy10YWctaGllcmFyY2h5IHNwZWVkYmFyLXByZWZpeC1ncm91cC10YWct aGllcmFyY2h5KSkpCiAnKHNwZWVkYmFyLXVzZS1pbWFnZXMgbmlsKQogJyhzcWwtdXNlciAicm9v dCIpCiAnKHRhYi13aWR0aCA4KQogJyh0b29sLWJhci1tb2RlIG5pbCBuaWwgKHRvb2wtYmFyKSkK ICcodHJhbXAtYXV0by1zYXZlLWRpcmVjdG9yeSAifi8uYXV0b3NhdmUiKQogJyh0cmFtcC1kZWJ1 Zy1idWZmZXIgdCkKICcodHJhbXAtZGVmYXVsdC1tZXRob2QgInNjcCIpCiAnKHVuaXF1aWZ5LWJ1 ZmZlci1uYW1lLXN0eWxlIChxdW90ZSBwb3N0LWZvcndhcmQtYW5nbGUtYnJhY2tldHMpIG5pbCAo dW5pcXVpZnkpKQogJyh1c2VyLW1haWwtYWRkcmVzcyAidGhvbWFzLmhhc2VsYmVyZ2VyQHVjcGFn LmNvbSIpCiAnKHZpZXctcmVhZC1vbmx5IHQpCiAnKHdvbWFuLWRlZmF1bHQtaW5kZW50IDcpCiAn KHdvbWFuLWZpbGwtY29sdW1uIDgwKQogJyh3b21hbi1pbWVudSB0KQogJyh3b21hbi1zaG93LWxv ZyB0KQogJyh3b21hbi11c2Utb3duLWZyYW1lIG5pbCkpCihjdXN0b20tc2V0LWZhY2VzCiAgOzsg Y3VzdG9tLXNldC1mYWNlcyB3YXMgYWRkZWQgYnkgQ3VzdG9tIC0tIGRvbid0IGVkaXQgb3IgY3V0 L3Bhc3RlIGl0IQogIDs7IFlvdXIgaW5pdCBmaWxlIHNob3VsZCBjb250YWluIG9ubHkgb25lIHN1 Y2ggaW5zdGFuY2UuCiAnKGN1c3RvbS1mYWNlLXRhZy1mYWNlICgodCAoOmluaGVyaXQgdmFyaWFi bGUtcGl0Y2ggOndlaWdodCBib2xkKSkpKQogJyhjdXN0b20tZ3JvdXAtdGFnLWZhY2UgKCh0ICg6 Zm9yZWdyb3VuZCAiYmx1ZSIgOndlaWdodCBib2xkKSkpKQogJyhjdXN0b20tZ3JvdXAtdGFnLWZh Y2UtMSAoKHQgKDppbmhlcml0IHZhcmlhYmxlLXBpdGNoIDpmb3JlZ3JvdW5kICJyZWQiIDp3ZWln aHQgYm9sZCkpKSkKICcoY3VzdG9tLXZhcmlhYmxlLXRhZy1mYWNlICgodCAoOmluaGVyaXQgdmFy aWFibGUtcGl0Y2ggOmZvcmVncm91bmQgImJsdWUiIDp3ZWlnaHQgYm9sZCkpKSkKICcoaHRtbC1o ZWxwZXItYm9sZC1mYWNlICgodCAoOmZvcmVncm91bmQgInBlcnUiKSkpKQogJyhodG1sLXRhZy1m YWNlICgodCAoOmZvcmVncm91bmQgImRvZGdlciBibHVlIikpKSkpCgoocHV0ICd1cGNhc2UtcmVn aW9uICdkaXNhYmxlZCBuaWwpCihwdXQgJ2Rvd25jYXNlLXJlZ2lvbiAnZGlzYWJsZWQgbmlsKQoK KHB1dCAnbmFycm93LXRvLXJlZ2lvbiAnZGlzYWJsZWQgbmlsKQoKCjs7OzsgZGVza3RvcCBzYXZl cgooZGVza3RvcC1sb2FkLWRlZmF1bHQpCihkZXNrdG9wLXJlYWQpCjs7IGxpbWl0IHNhdmVkIGl0 ZW1zIHRvIHgKKGFkZC1ob29rICdraWxsLWVtYWNzLWhvb2sKCSAgJyhsYW1iZGEgKCkKCSAgICAg KGRlc2t0b3AtdHJ1bmNhdGUgc2VhcmNoLXJpbmcgNSkKCSAgICAgKGRlc2t0b3AtdHJ1bmNhdGUg cmVnZXhwLXNlYXJjaC1yaW5nIDUpKSkK # Sending end of data token... # Opening connection for address@hidden using sshx... # Processing actions # 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 Are you sure you want to continue connecting (yes/no)\? * # 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 Are you sure you want to continue connecting (yes/no)\? * # Looking for pattern ^.*\([pP]assword\|passphrase.*\):? * # Looking for pattern .*ogin: * # Looking for pattern ^[^#$%> ]*[#$%>] * # Found remote shell prompt. # Initializing remote shell $ exec /bin/sh # Waiting 30s for remote `/bin/sh' to come up... exec /bin/sh sh-2.03$ # Setting up remote shell environment stty -inlcr -echo kill '^U' sh-2.03$ sh-2.03$ # Determining coding system foo bar sh-2.03$ # Waiting 30s for `HISTFILE=$HOME/.tramp_history; HISTSIZE=1' sh-2.03$ # Waiting 30s for `set +o vi +o emacs' sh-2.03$ # Waiting 30s for `unset MAIL MAILCHECK MAILPATH' sh-2.03$ # Waiting 30s for `unset CDPATH' sh-2.03$ # Setting shell prompt $ PS1=' ///// '; PS2=''; PS3='' $ echo hello # Waiting for remote `/bin/sh' to come up... hello # Waiting for remote `/bin/sh' to come up...done $ 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 an alias 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 . # 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 = ) { 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 . # 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 = ) { 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 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 $ EOF # Waiting for remote host to process data... sh: EOF: command not found $ echo tramp_exit_status $? tramp_exit_status 127