Server :: Script Running Ssh Commands (via Loop) Exiting After First Iteration?
Oct 24, 2010
One of my servers needs to issue an "apt-get update" command on each of the clients in a lab. However, after the first update, it exits. In trying to replicate the problem with a simpler script, I created the following which fetches the listings of multiple directories from a client:
NUM=0
cat paths | while read DIR; do
ssh server-name ls $DIR > /tmp/$NUM.txt
NUM=`expr $NUM + 1`
done
Again, after the first iteration, the script exists. I tried the following line too, but it made no difference:
I have a string problem with a function I am writing and I cant figure it out. I am trying to write unit test which will verify it works as expected. As I need to make use of it elsewhere and obviously robust and correct enough that I can rely on it. Okay first of all I define the following structure
there's 2 scripts that i want to run when my server start.I a bit new to linux, i found that i could use the script rc.local to run things at startup, although, what i want to run is 2 infinite loop, so the first loop run but not the second.
I want to launch a gnome-terminal with a korn shell, and I want to specify in advance a command to execute, and then hand control back over to ksh. ex.
Code:
gnome-terminal --execute ksh -ic ls
I expect that to run ksh, do an 'ls' for example, and then give a prompt. I thought the -i switch (for interactive) meant that the shell would resume control, but this doesn't happen. The window just closes quicker than I can see what was output.
I want to loop through the folders and check if they end with *_p1 or *p2. If a given folder ends with *p1, I want to cd to that folder and manipulate certain files in that folder. If the folder ends with *p2, I want to perform different manipulations on certain files.
In the code segment below is a for loop I am having some considerable difficulty with. It just keeps iterating endlessly and totally ignores the 70 times limit specified. I can't ever remember having this problem before and am absolutely Clueless.
Code: for ( x = 0; x < 70; x++ ) { fputs ("CSN00", target); fprintf (target, "%d", userid);
I want to install MATLAB 2009 on a ubuntu server 10.04 amd64 which has NOT any gui. The installation was successful however when it comes to activate, it says "Could not open display. Exiting.". Here is what I did:
1- ssh -X user@server 2- verified that I can see "xclock" and "xcalc". Yes I can see... 3- cd /mnt ; ./install 4- I can see the GUI wizard since the X11 forward is working. Installation done successfully. 5- cd /opt/Matlab/bin ; ./activate_matlab.sh
I am trying to setup a chroot with a sshd service running. when I start the sshd in the chroot and login I get this message. Can not find anything on google.
[damien@dev ~]$ ssh -l damien localhost -p 2233 damien@localhost's password: Last login: Tue Jul 21 13:32:52 2009 from 127.0.0.1 debug3: PAM session not opened, exiting Connection to localhost closed.
Code: for i in $list; do <some statements> if i > 5 exit <more statements> done
That is, want to terminate the iteration just after 5 iterations. A first problem, is that list is a string and not a number. It's all I can say, except to keep reading bash monster manual.
My script is not diaplying output as it contains awk while iterating over the array. My script is as follows:
shortcodes=( "56882" "58585" "58888" "57575" "57677" ); for shortcode in ${shortcodes[@]} do echo "`awk -F"|" '/ShortCode=tel:$shortcode/ { arr[substr($2,1,4)]++ } END { for( no in arr) { print no , arr[no] } }'
I am running a shell script from a rc file in Linux. The shell script is going into a loop which runs for 8 hours. Now I want to prevent the shell script from running when Linux boots or I need to find a way to kill the shell script when it is running. I tried using killall, kill $! and Ctrl+C etc. Nothing seems to work. Can you suggest a way out. I am new to Linux.
I have been trying to figure out how to automatically run terminal commands on login. For example, I want to run Firefox on login. When I run 'firefox' in terminal, it opens. This is what I tried:I went to System > Preference > Startup Applications and clicked on 'Add'. I gave it a name, typed 'firefox' into the command field and left the comment blank and added it to the list, making sure that the box was checked.
I am trying to run some simulations through SSH from my mac on our university SOLARIS system. My problem is that whenever I want to execute a command I get an error which says "Invalid argument". Maybe I should explain more what I want to do and what I did.Firstly I installed a software which I need to run, I did it through ThinLink, and it seems that it is running fine without a problems. I can execute all commands and scripts. Installed software contains tens of small programs. I have compiled it and assign the PATH to be able to use the software. This was still via ThinLink. Then I wanted to start to use SSH since it should be more secure and also faster for me. When I wanted to do same think as in ThinLink I got the message Invalid argument. For example I run a command which use program gensky. I wrote:
Code: gray1(dava) $ gensky 4 4 4
I got:
Code: -bash: ............/Radiance_install/bin/gensky: Invalid argument (i replaced the path to my home directory by dots) The PATH to the program seams correct but it does not run correctly. With SSH I can log into the remote machine and see all the files which I have on the disk as well as to run standard commands like mkdir etc. But I cannot run the programs which I installed.
I would be running SQL commands (UPDATE/SELECT) from within my bash script. I am completely new to this subject. Is MYSQL used for this purpose? Alternatively, what is sqlplus?
Recently I gained interest in running command from the terminal, like rhythmbox-client --play-pause and vlc --open, but I could not find the vlc's pause command under vlc. there's a way I can have a terminal display the commands that run when I do some action. For example, when I click on pause in vlc, the terminal should show me what command it used to pause vlc. What's the closest ting I can get to this?
what i want to do is run two commands (nautilus and gedit) from the command line/shell script at the same time. i can obviously do && between them, but this requires the first app to close before moving on to the second one. i want to run both apps at the same time so i can run gedit with some project files open on it, and nautilus to browse those files/other files.
I have set up ssh to connect with a RSA key to a router. Now, I want to be able to run a chain of commands on that router the problem is that I can't send them separated with ; cause the router doesn't understand the separation, so I have to send the "<enter>" keys somehow. I tried to do it like this:
The connection is established, but it gets broken after login and no command is executed. Is there a way I could tell ssh to read a text file where the chain of commands is?
I use two separate systems both running Debian 8. On one (my main) I can't do some commands including ping, shutdown and reboot without running them as root user, however on my other system I can ping and reboot as a non-privileged user. The permissions on both systems are the same for /bin/ping and /sbin/systemctl (reboot). I thought at first it was something to do with what groups my main was in, but that doesn't seem to be the gase.
I know I can fix it by setting setuid for both, but my question is why is it different on both machines? Is there a global setting controlling this in /etc or perhaps an icmp setting?
Having recovered from busting my installation, feel urgent need to know what I did to set it up.So...would like to see all commands I ran in terminal window and store them (execute as script in future?)I can see prior commands using up arrow, is there a way of storing all of those commands in history?Also, any pointers to setting up sort of backup of the package installation setup?
I recently hired a new tech guy to start managing our servers. In doing this I went ahead and upgraded all the servers. It has been awhile now since I sent him the details of the new server and the last time I talked to him he was joking around with one of the other clients not realizing how long it took.
I know on other server moves, my old guy could have everything setup and running in a couple days as a good amount of time is waiting for the data to copy over. I am starting to wonder if this guy is going to try and throw a huge bill at me, so I would like to know what hes doing on the server with time stamps just so I can get a idea of how much time he has been logged into the server. Does this server OS have anything like this built in?
I am working on a daemon that I want to change some variables while its running. Is this possible?I want to implement a command line type interface for my daemon so I can send it commands that will change the current values of specific variables, and also be able tell the daemon to load/save a config file.The only thing I have found so far is passing arguments to a daemon, but that seems to be a one-time shot when your first starting it.
After a few hours work I have managed to set up pptd so that my daughter can log into her account at Imperial College. My problem now is that I need to have a script that she can run if she wants to log in. She will have to invoke a couple of root commands and I do not want to give her the root password What she needs to do to set up networking is:
My focus is on the three WGET commands. The problem is the first one works fine, runs at 4:20 p.m., but the other two never run! If I visit [URL] it works fine but cron never runs it.