I have an expect script that gets called from an AppleScript Studio app that basically takes arguments for user name, password, and server address and then calls rsync. Everything works wonderfully, EXCEPT (there had to be one of those) if the user name starts with a t, such as "test_student", the t gets converted to a 'tab' and I instead get "[tab]est_student", which obviously won't authenticate properly.
In the following code, the problem happens at the end of the spawn line, the $login variable has the problem (although I haven't tested to see if $server and $password variables have the same problem).
I guess my question is if there is a way to make it so that expect just enters the text and doesn't try to do fancy [tabs] and such? Is there a best practice in a script like this to make sure that doesn't happen?
Hi,
I am facing a strange problem while executing a script from a solaris server. This script calls another one to execute "expect" commands on some other 40 servers (all AIX 5200). I am passing username and password to the "expect" script as arguments. My problem is that it is showing the... (4 Replies)
Hello to all...this is my first post (so please go easy). :)
I feel pretty solid at expect scripting, but I'm running into an issue that I'm not able to wrap my head around. I wrote a script that is a little advanced for logging into a remote Linux machine and changing text in a file using sed.... (2 Replies)
Hi all,
I have wriiten an expect script that genearates a public private key pair through ssh-keygen and then copies that key to the authorized keys file of the remote system . The problem i am facing is when i get a password for the remote machine containg a trailing backslash , the send command... (4 Replies)
This Expect script provides expect with a list of IP addresses to Cisco IPS sensors and commands to configure Cisco IPS sensors. The user, password, IP addresses, prompt regex, etc. have been anonymized. In general this script will log into the sensors and send commands successfully but there are... (1 Reply)
hi all, guys i have a problem in this code...
any help ?
#!/usr/bin/expect
if { $argc != 3 } {
puts "Usage:"
puts "$argv0 username oldpwd newpwd"
exit
}
#set machine
set username
set oldpwd
set newpwd
set completed_list " " (2 Replies)
Hi,
Have strange problem.
When I run an expect script towards a switch, it will not work.
$ ./test2
spawn ssh admin@sesafdd101
Password:
Last login: Thu Dec 25 13:20:54 2008 from 172.20.96.14
ECN430/330/212 Linux, based on Wind River Linux glibc_small (standard) 2.0
Trying... (1 Reply)
Hi,
Am very new to expect scripting..
Can You please suggest me how to call an expect script inside another expect script..
I tried with
spawn /usr/bin/ksh
send "expect main.exp\r"
expect $root_prompt
and
spawn /usr/bin/ksh
send "main.exp\r"
expect $root_prompt
Both... (1 Reply)
I have an expect script called remote that I want to call from inside my expect script called sudoers.push, here is the code that is causing me issues:
set REMOTE "/root/scripts/remote"
...
log_user 1
send_user "Executing remote script as $user...\n"
send_user "Command to execute is: $REMOTE... (1 Reply)
I'm fairly new to scripting so this might not be possible.
I am using Expect with Cisco switches and need to capture the string after finding the expect request. For example, when I issue "show version" on a Nexus switch, I'm looking to capture the current firmware version:
#show version
... (0 Replies)
Discussion started by: IBGaryA
0 Replies
LEARN ABOUT MOJAVE
osascript
OSASCRIPT(1) BSD General Commands Manual OSASCRIPT(1)NAME
osascript -- execute OSA scripts (AppleScript, JavaScript, etc.)
SYNOPSIS
osascript [-l language] [-i] [-s flags] [-e statement | programfile] [argument ...]
DESCRIPTION
osascript executes the given OSA script, which may be plain text or a compiled script (.scpt) created by Script Editor or osacompile(1). By
default, osascript treats plain text as AppleScript, but you can change this using the -l option. To get a list of the OSA languages
installed on your system, use osalang(1).
osascript will look for the script in one of the following three places:
1. Specified line by line using -e switches on the command line.
2. Contained in the file specified by the first filename on the command line. This file may be plain text or a compiled script.
3. Passed in using standard input. This works only if there are no filename arguments; to pass arguments to a STDIN-read script, you must
explicitly specify ``-'' for the script name.
Any arguments following the script will be passed as a list of strings to the direct parameter of the ``run'' handler. For example, in
AppleScript:
a.scpt:
on run argv
return "hello, " & item 1 of argv & "."
end run
% osascript a.scpt world
hello, world.
The options are as follows:
-e statement
Enter one line of a script. If -e is given, osascript will not look for a filename in the argument list. Multiple -e options may be
given to build up a multi-line script. Because most scripts use characters that are special to many shell programs (for example,
AppleScript uses single and double quote marks, ``('', ``)'', and ``*''), the statement will have to be correctly quoted and escaped to
get it past the shell intact.
-i Interactive mode: osascript will prompt for one line at a time, and print the result, if applicable, after each line. Any script sup-
plied as a command argument using -e or programfile will be loaded, but not executed, before starting the interactive prompt.
-l language
Override the language for any plain text files. Normally, plain text files are compiled as AppleScript.
-s flags
Modify the output style. The flags argument is a string consisting of any of the modifier characters e, h, o, and s. Multiple modi-
fiers can be concatenated in the same string, and multiple -s options can be specified. The modifiers come in exclusive pairs; if con-
flicting modifiers are specified, the last one takes precedence. The meanings of the modifier characters are as follows:
h Print values in human-readable form (default).
s Print values in recompilable source form.
osascript normally prints its results in human-readable form: strings do not have quotes around them, characters are not escaped,
braces for lists and records are omitted, etc. This is generally more useful, but can introduce ambiguities. For example, the
lists '{"foo", "bar"}' and '{{"foo", {"bar"}}}' would both be displayed as 'foo, bar'. To see the results in an unambiguous form
that could be recompiled into the same value, use the s modifier.
e Print script errors to stderr (default).
o Print script errors to stdout.
osascript normally prints script errors to stderr, so downstream clients only see valid results. When running automated tests, how-
ever, using the o modifier lets you distinguish script errors, which you care about matching, from other diagnostic output, which
you don't.
SEE ALSO osacompile(1), osalang(1), AppleScript Language Guide
HISTORY
osascript in Mac OS X 10.0 would translate '
' characters in the output to '
' and provided c and r modifiers for the -s option to change
this. osascript now always leaves the output alone; pipe through tr(1) if necessary.
Prior to Mac OS X 10.4, osascript did not allow passing arguments to the script.
Mac OS X April 24, 2014 Mac OS X