General :: Using The Expect And Send To Execute List Of Commands Inside A File?
Feb 2, 2011
i am working on some kind of PBX and i have list of telephone numbers inside a file, i have to insert these numbers into the correct command and then telnet to a remote server and execute these commands. i can read the telephone numbers and insert them into the command with no problem, but when i try to insert these commands into the send i face problem. here is the basic code
i can make external loop inside the Bash which read the input file and issue the command and then telnet and execute, but this will make the script connects and disconnects again for each line which cause high load on that server and hardwar problem. i am wondering if there is an option inside the expect interperter which makes the send read directly from a file... somthing like this:
When I try execute a variety of basic commands (including ps, ls, ifconfig, locate), I receive the error 'no such file or directory'.
Here are some suggestions that I've found online, that I have tried without success: I did a 'whereis ps' and found the file in the /bin/, and have checked that '/bin' appears when I do 'echo $PATH' I did a filesystem check which showed my hard drive as being clean I tried doing a 'sudo chmod 777 ps' but was told that I dont have permission. I don't think permissions for these files would have changed though (and I can't check as I can't run the 'ls' command).
since a recent upgrade to Mandriva 2010.1 I am not able to 'sudo' as administrator or when I use the 'root' password. I am the only user on this machine (Dell Inspiron 530S multi-booted with Window's Vista Home Premium, Ubuntu 10.4, and Mandriva 2010.1). I can get into the 'Manage Users' section of the control center by authenticating as 'root' but I can't access 'sudoers file' from command line.
recently I did some changes to my bashrc file the changes are as follows export JAVA_HOME=/usr/java/jre<version>/bin/ export PATH=$PATH:/usr/java/jre<version>/bin
So I am trying to put together a simple command that when executed from the project folder will run the appropriate hg/svn command in each project i.e:
[Code]...
Since the client has many such projects, Instead I am looking for a solution similar to find -exec where the svn/hg commands are automatically executed on each first level of match (i.e. svn up is run in the project/a folder but not in project/a/subfolder). How can such a command be constructed ?.
#!/bin/sh su et cd "media/ET" export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
[code]....
I want ET to be run as the user "et" and for some reason, I can't directly su/sudo to run the file without being in the user "et" and the "/media/ET" directory.
I am writing an expect script. At a certain point there is a rule that produces this debugging output:
Code:
expect: does " Address or name of remote host [x.x.x.x]? " (spawn_id exp8) match glob pattern " Address or name of remote host [x.x.x.x]? "? no This just times out When I use -exact for the expect keyword it does work What am I doing wrong? THe first should also match in my opinion because it is equal as well. Even if I remove the I still have the same issue if I try without -exact. I don't understand. I tried removing the but still got the same.
I'm trying to run multiple commands on things I have found, how can I achieve this? find . -exec cmd1; cmd2 does not seem to work; it instead runs cmd2 after cmd1 has been executed on every file.
I use a long mount command to mount a NAS drive but have to retype it every time I need to mount the drive. Because it is on my laptop I only need to mount the drive from time
Customer asked me to create a menu for linux he also asked me to do this: Open like a command like where a user can execute commands...so for this the users have sudo enabled. The code below works OK. But it has an issue when a command is executed but the command does not need sudo
Like for instance Code: cd / sudo: cd: command not found
How can I allow a user to execute all commands when a command does not need sudo Code: echo -e "Press Control+C to finish" #echo -e " " while true; do read whichcmd?"Insert Command: " sudo $whichcmd done
I'm looking for a way to produce a list of all the directories in the current working directory sorted by the total number of files that are contained with them.
Initially I though that Nautilus could be used for this, but then I realised it doesn't count files in the sub directories.
The best I've got for a command line solution so far is this
Code:
The use case for this is a situation where a user has a quota applied to their home directory which limits the number of files they are allowed to have and they have exceeded that limit.
my tcl framework give exception - send: spawn id exp1025 not open - while executing command - exp_send "echo $ABC". Though this is very sporadic in nature and frequency of occurrence is very less, but still i need to fix it.
I have following queries
- why does this occur so sporadically?
- how do i fix it?
- what shall i do to avoid such exceptions in future.
Note : The function which runs the exp_send command always spawn a bash whenever it is called.
I am creating this script which will login to a server with ssh and check if a particular exists there, if not it will create the user.This is the script:Quote:
I am trying to write one script. Purpose of my script is that it will login to particular user and it will execute some set of commands.What I was trying....
ssh to a machine on my network open up a terminal (gnome, xterm, whatever) and have it visible on that machines display be able to type and execute commands in that window, from my computer. i have kind of achieved this. on machine A, i ssh to machine B. on machine B, i open up a terminal and execute screen, C-a :multiuser on. on machine A, i execute screen -x and connect to the term on B. everything i type from A or B can be seen. i just want to be able to set this up without having to physically be at machine B. does that make sense?
In gnome terminal it is possible to open multiple tabs with Quote:$ gnome-terminal --tab-with-profile=jake_lardasset --tab-with-profile=virtualsexgranny -x alpineWe got even further....Quote:gnome-terminal --tab-with-profile=james_treesexer --command pymol --tab-with-profile=loverboy13 --command alpineand pymol runs, but not in the tab and alpine runs in the tab.The problem is, that when using a script to check mail it has Quote:gnome-terminal --tab-with-profile=chrissypink --command alpine --tab-with-profile=jake_hugerichard -x ssh xxxx@xxxx.ut.eenot the other way aroundIs there a simpler way to do this?And why is it not possible to execute ssh with the --command parameter and -x has to be used ,but top and so on can be executed with --command
I was trying to connect my android phone just to send some AT commands using Minicom or Seyon. But I was not able to connect it. I have connected my phone using a USB cable.Do I need to connect my phone through the serial cable by using a minicom connector to be able to send the commands to the phone.Also when I launch it says Initializing Modem...thenModem at /dev/ttyS0 is available. If I try to Dial it says Warning related to the Baud rate.But After that I am not able to do anything.
i have a java program and to run it, i have to go into terminal and typecd <where the file is>java -jar <filename>.jarthis works fine, but is there a way to make a shortcut/small program to do this for me when i double click?
if I open a terminal and hit [TAB] [TAB] it will display "Display all 2583 possibilities? (y or n) ". If I press y is there a way to capture the output and write it to a file? Not like it is a command so I can't just use a redirect to a file? If not I guess I could just do an ls on all locations of $PATH and capture that to a file.
" > logfile.txt : gives an error extra character after the "
2- logsave logfile.txt 'send "show command;
" ': error invalid command
3- i simply tried to send the output of the whole script to file logsave /home/logfile ./script : seems that logsave work under root only
4- ./script > logfile : the problem with this is that the output of echo or (read "enter your id") command will not be displayed on the screen (actually nothing will be displayed, i have to open the log file to see the output). is there any way to save the log of the "send" ? or to save the log of the complete script without hiding the output on the screen?