Sponsored Content
Top Forums UNIX for Beginners Questions & Answers How to have local shell variables in a ksh script seen on remove server in SSH block? Post 303036281 by MadeInGermany on Friday 21st of June 2019 10:58:34 AM
Old 06-21-2019
I think that code in unquoted here documents is problematic: too many levels of quoting.
In zsh you can chain two (or more) redirections
Code:
#!/bin/zsh
filepath=/xxx/yyy/zzz/
filename=xyz

ssh uid@hostname << EOT1 << 'ENDSSH'
filepath=$filepath
filename=$filename
EOT1
.
.
if [[ -e ${filepath}${filename} ]]; then
....
....
fi

ENDSSH

The first part EOT1 is unquoted and assigns the local variables to the remote variables.
Instead of directly feeding the login shell (where ssh might complain that a tty is missing) it is more correct to run an explicit /bin/sh (or /bin/bash)
Code:
ssh uid@hostname /bin/sh -s << EOT1 << 'ENDSSH'

Having this, with any standard shell you can pass the local variables as parameters
Code:
filepath=/xxx/yyy/zzz/
filename=xyz

ssh uid@hostname /bin/sh -s $filepath $filename << 'ENDSSH'
filepath=$1
filename=$2
.
.
if [[ -e ${filepath}${filename} ]]; then
....
....
fi

ENDSSH

These 2 Users Gave Thanks to MadeInGermany For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

shell script, reading and resetting local variables

Hello, I have a problem with trying to run a shell script that reads in user input, validates, and sets to a 'default' value if the input is not valid. I cannot get the portion of resetting to a default value to work. These lines are skipped, and the value of x is still whatever the user... (1 Reply)
Discussion started by: b888c
1 Replies

2. UNIX for Advanced & Expert Users

Use of sudoer with ssh login shell script (KSH)

Greetings all, I'm in the midst of writing a login component for a series of shell scripts. What my login script does is this: 1. Prompt for username and read in username 2. Prompt for destination host and read in destination host 3. run ssh username and destination host 4. After user keys... (0 Replies)
Discussion started by: rockysfr
0 Replies

3. Shell Programming and Scripting

ssh into a shell script (KSH)

Hi all, Just like to ask if it is possible to do the following: 1. Have a shell script that calls ssh username@destinationhost 2. Upon successful verification, we ssh into the destination host and automatically use ksh to run a shell script that resides in the destination host. (Hopefully no... (8 Replies)
Discussion started by: rockysfr
8 Replies

4. Shell Programming and Scripting

Help with Backup Shell Script 'ksh + awk over ssh'

Hi newbeeeee alarm i want to send a little script over ssh this script mus download a report.tar then rename and move. the report name format is report_<host.with.dot>-10-09-20-11:55:25.tar function remote_cmd_mv { _host=$1 ARCHROOTDIR='/tmp' ... (8 Replies)
Discussion started by: TigerGoods
8 Replies

5. Shell Programming and Scripting

ksh script with Interactive ssh on remote server

HI Unix Gurus, I an stuck in an interesting issue, where I am trying to execute a script on remote server after ssh. The script on remote server is interactive,. Whenever it is called it hangs where it expects input from terminal and I have to terminate it. I have searched through fourm... (12 Replies)
Discussion started by: Jeevanm
12 Replies

6. UNIX for Dummies Questions & Answers

SQL block in a Shell Script connecting to a local and remote DB

Hi All, In a Shell scriipt with a SQL block I want to issue a query against a local DB and a remote DB on a remote server. The shell script is running locally. This is how I connect to the local server. But I want the query to reference remote table in the join. Question can I specify a... (1 Reply)
Discussion started by: daveu7
1 Replies

7. Shell Programming and Scripting

Using a find command in ssh but using local variables?

I have a script like this (Yes, I know the DAY6 number isn't right - I'm just testing at this point): DAY0=`date -I` DAY1=`date -I -d "1 day ago"` DAY6=`date -I -d "2 days ago"` if then ssh root@synology1 nohup rm -rf "/volume1/Fileserver/$DAY6" fi I've tested the line to remove the... (5 Replies)
Discussion started by: Orionizer
5 Replies

8. Shell Programming and Scripting

To run a local shell script in a remote machine by passing arguments to the local shell script

I need to run a local shell script on a remote machine. I am able to achieve that by executing the command > ssh -qtt user@host < test.sh However, when I try to pass arguments to test.sh it fails. Any pointers would be appreciated. (7 Replies)
Discussion started by: Sree10
7 Replies

9. UNIX for Dummies Questions & Answers

Copy files from Linux server local windows machine using a shell script

Hello, I need to create a shell script which will copy files - which are created on particular date and starting with particular name - to local windows XP machine. Is this possible.? Currently it is being done manually using winscp (1 Reply)
Discussion started by: NarayanaPrakash
1 Replies

10. Shell Programming and Scripting

Except script to run a local shell script on remote server using root access

local script: cat > first.sh cd /tmp echo $PWD echo `whoami` cd /tmp/123 tar -cvf 789.tar 456 sleep 10 except script: cat > first #!/usr/bin/expect set ip 10.5.15.20 set user "xyz123" set password "123456" set script first.sh spawn sh -c "ssh $user@$ip bash < $script" (1 Reply)
Discussion started by: Aditya Avanth
1 Replies
fizsh(1)							       fizsh								  fizsh(1)

NAME
fizsh - friendly interactive zshell. SYNOPSIS
fizsh [OPTIONS]... [ARGUMENTS]... DESCRIPTION
Fizsh is a front end to zsh. Fizsh provides zsh with interactive syntax-highlighting and a MATLAB-like history-search. Fizsh is intended to look and feel similar to fish. A distinguishing feature is that fizsh can handle Bourne compatible syntax. This is because fizsh is a front end to zsh. Fish uses its own syntax. CONFIGURATION
$HOME/.fizsh is the directory where fizsh keeps its configuration files. The file $HOME/.fizsh/.fizshrc serves as the user's local startup script. Local customizations, such as aliases and functions, can be added here. $HOME/.fizsh/.fizshrc allows the same syntax as $HOME/.zshrc under zsh. $HOME/.fizsh/.fizsh_history is default name of fizsh's history file. The other files in $HOME/.fizsh are installed by /usr/bin/fizsh. In order to reinstall these files use: /usr/bin/fizsh -r or /usr/bin/fizsh --reinstall. Compared to the default configuration of zsh, fizsh additionally sets the options "histignorealldups", "histignorespace", "histreduceblanks", "incappendhistory", "interactivecomments", "promptsubst", "correct" and "nobeep". For further configuration details consult zsh's man pages. INVOCATION
Fizsh is meant to be invoked without options and without command-line arguments. The only supported command-line options are "--version", "--help", "--login", "--reinstall", "-v", "-h", "-l" and "-r". "--version" or "-v" yields fizsh's version number. "--help" or "-h" causes fizsh to print brief usage information. "--login" or "-l" cause fizsh to be a login shell. "--reinstall" or "-r" will reinstall some of fizsh's configuration files (see above). If invoked with other command-line options and/or arguments fizsh will silently revert to zsh. BUGS
There are no known bugs at the moment. Bug reports, bug fixes and other comments are welcome. NOTES
MATLAB is a registered trademark of The MathWorks, Inc. AUTHOR
Written by Guido van Steen, based on work by the "zsh-syntax-highlighting contributors" and the contributors to "zsh-history-substring- search". SEE ALSO
zsh(1) fish(1) Version 1.0.2 9 Aug 2011 fizsh(1)
All times are GMT -4. The time now is 09:56 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy