# 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