Programming :: Shell Script Terminated After FTP Transfer
Dec 28, 2009
I made a shell script with the following piece of code to transfer some files via ftp:
Code:
echo 'before ftp'
ftp -n $FtpHost << EOF
quote USER $FtpUser
quote PASS $FtpPasswd
quote CWD $FtpDir
put $FileNameLog
put $FileNameSqlTarSum
put $FileNameSqlTar
put $FileNameWwwTarSum
put $FileNameTar
quit
EOF
The problem is that the script ends after the "quit" command in FTP, so code after it won't run, like the remove of temporary files. If I remove this "quit" command, the shell understands I'm still parsing commands to FTP, although being after the EOF. I used this echo commands to check which parts of the script are running.
Sed seems to react to the presence of "" in its input if the immediately following character makes the pair a recognizable code. In the code following see that the "a" and "" are missing in the output, and that the "c" caused sed to terminate at that point. Is there any way to prevent it reacting like this?
Code: g y="the shell built-in command. The following character sequences > have special meaning: > a Alert (bell). > Backspace. > > c Suppress trailing newline. > f Form feed. > [Code]....
today itself i joined a shell account given to me by cjb.net. i am able to ssh [URL] from my putty... but how can i download files or get help from the this server...
I am trying to create a shell script similar to ls, but which only lists directories. I have the first half working (no argument version), but trying to make it accept an argument, I am failing. My logic is sound I think, but I'm missing something on the syntax.
Code: if [ $# -eq 0 ] ; then d=`pwd` for i in * ; do if test -d $d/$i ; then echo "$i:" code....
Is there some type of functional way to read things in the Python shell interpreter similar to less or more in the bash (and other) command line shells?
Example:
Code:
>>> import subprocess >>> help(subprocess) ... [pages of stuff to read] ...
I'm hoping so as I hate scrolling and love how less works with simple keystrokes for page-up/page-down/searching etc.
I've created a simple script based menu. This menu will be accessed by only a certain users via ssh.When user logs in, the menu will automatically run. (configured at user's .bash_profile).How do I force the session to close when user hits Ctrl-C or Ctrl-Break ?In a nutshell, I don't want user to have access to shell.
I need to create a program that has both a server and a client and can transmit PDF and text files between the two using UDP as the underlying carrier while behaving as if it is TCP. We have successfully created a UDP program that can simply transmit strings, but we are not really sure on how to transform this code to do files. We know that we need to use a buffer of some sort to transmit the file in pieces.
I have an assigment to create UDP file transfer with checksum,but currently i have a problem in transferring the data. The problem is:A.I sent a text file that have approximately 200kb but in the client receive only 100kb... is it fair?B.For text file,I track the result and i found that its okay for the text file. Write counter show 1024 byte every packet i sent. But when i sent mp3 file or pdf file it doenst show like this. For mp3 the data sent every packet i sent is gradually decreased from 1024 byte 1020byte contiounusly.... For pdf data its seems random.
I recently started shell programming and my task now is to do a menu display.Currently i am stuck whereby user will input both title and author and it will delete it.
I am doing a project where 2 clients connect to server and communicate (chat) and transfer data one after other using sockets. I have working code for this in C language. Now our main aim is to create a communication link where two clients transfer multiple streams data parallely. To be more precise i want to transfer images files and audio files parallel at same time, so is it possible to send data parallel using one socket connection?
In school, my codes are writeen under UNIX system (Solaris10/SUN), now I need to transfer those codes to Linux (Redhat5). But after I directly copy to Linux, it shows many errors and warnings.
Does anyone know which codes I need to modify to specifily suit for UNIX? I am not familiar with those systems and hope to get your kind help.
I want to search for 1 file (say test.txt) on first server and all the output of this search to be greped as per my requirement and then transfered on the second server at the same location where they were on first server.
E.g. output of search of file (test.txt) >> output.txt /tmp/test.txt /home/cpan/test.txt /opt/cpanel/test.txt
Now I want to grep this output to only related to cpanel, for f in 'cat output.txt' echo $f | grep "cpanel" if [ $? -eq 0 ] then do scp. But I am bit confused here, as in how to use scp command here. scp $f root@second_server:/$f ?
Is it possible to assist in the programming Shell Scripts Job: To send a message to the email,All orders written in Terminal or ssh example : ls , pwd , cat , and other
I need to create a script that will compare the differences between two folders and then to copy only the updated and new files only to another directory. I know I need to use rsync here, I can write scripts so really it not how to create a script it is how do I accomplish the transfer of only new or changes files between two folders to a new file. Do I need to link these two folders first and then use the "--compare-dest" switch.
Having a bit of a issue with Debian Squeeze and transferring files to the Sony PSP..Hook up PSP to USB port and Debian mounts it..I go to drag a 125 meg mp4 to video folder..Copy windows takes about 10 seconds to transfer it..Exit USB mode and there is no video there. Go back into USB mode and look at video folder on the PSP memory stick and there is no video..It vanished. From another after copy progress closed I right clicked PSP and unmounted it..
It error-ed saying device was busy and could not unmount..Looking at light on PSP i see memory stick is still being written to..i wait for light to stop flashing..About a minute or so..Then am able to unmount it..Go to PSP video and theres the video ready to be watched. Debian isnt accurately showing the copy progress...Its showing complete when it isnt..I have to watch the light on PSP to know when it is truly finished.
I have a situation where I am in a non-interactive shell. I have tried from within my non-interative shell to spawn an interactive shell but my output still does not goto me. Isn't there a way I can somehow go into /proc or somwhere and make the output my /dev/tty1? Or some way else to remedy this?The situation arises because I drop from my restricted shell environment (a sort of CLI interface), into the actual Linux shell. I cannot change the code of the CLI environment I am just faced with being in the linux shell environment and its non-interactive. Its very annoying to have to put > /dev/tty1 after every command I type.
Not to mention it seems damn near impossible to get pagers like more and less to work properly when your in a non-interactive shell.
using Slackware 13.0, and whenever i trasfer my files to USB, like copy or cut and paste, it will show as if file transfered in an instant,like click paste and poof.the whole 1 gig file transferred in one second, and it wont show dialog box of transfer process, and then i have to predict some minutes and wait (till the transfer actually finishes, i have to usually see my USB's transfer indicator light), if i plug out before or my prediction goes wrong, i end up with corrupted files. This aint related to window manager, as same is case for KDE and XFCE tried thunar, konqueror, midnight commander, all of em resulted with same problem.
I have a shell script that I would like to log to stdout and also to a file.....much like using tee. I would like to, instead of calling the script and piping to tee...i would like for the script to tee itself.
I need to push out a file to a bunch of linux and solaris boxes so I was hoping to use a script to automate the process with scp (or something else / better) - how can I batchmode scp so that it will do this? I should mention the servers do have keys set up so I do not have to authenticate manually or through something like an expect script...
However when I do the exact above command on unix prompt (refer below) after setting values for all variables, it is not giving sed garbled error message. May I know what should I do to make it work inside the script as well?
$ cat init_refresh$CLONE_DB.ora | sed "s/$ORIG_LOG_ARCHIVE_FORMAT/$SRC_LOG_ARCHIVE_FORMAT/g" > $LOG_DIR/init_refresh1$CLONE_DB.ora $
I'm trying to write a toy linux shell. For starters this is what I'm trying to do:
1. Start a new process with fork.
2. Execute a program in the new process with execl().
3. Redirect the output from the new process from STDOUT to another file descriptor, using dup2(2).
4. In the parent process, read the output from the child process and write it to the screen.
Creating a new process and executing a program in it is no problems, the problem is that I can't seem to capture the output from it in the parent process.
Code: Select allapt-get install icedove-l10n-hu apt-get install rar apt-get install ... ... y press key or other language is other key. hungarian key is: i
english after apt-get install in gnome-terminal: (y)es or (n)o hungarian after apt-get install in gnome-terminal: (i)gen or (n)em
How to yes or no automatically in all languages? Not manual, not 'Y'/'I' or 'N'/'N' keydown.
I would like use this script my fresh installed Debian 7.1. I would like run this install.sh when Debian is installed for my all softwares when i would like use.
I'm running into a problem when I try to set a variable to an awk output in c-shell. Right now my command is Code: set STR_MSG_TYPE = `awk -F{ '/msg_type/ {print $2}' <filename> | tr -d }'/''*' ` I then run echo to see what the output is and it returns blank, however, when I run the same awk command from the command line, I get an actual output of "MT-715". Am I setting my variable incorrectly? I do something similar using the date command to set a STR_DATE variable earlier in the code and it works fine and I use the same syntax.
I want to spawn a GDB session from bash script and keep it working to interact it from outside. But when I start it in background (with '&' sigil).
Code: gdb -x gdb_script.txt ./a.out < gdb_pipe.fifo & It executes passed script and terminates by itself (I do not pass any data or signals to it)
Code: Breakpoint 33, main (argc=1, argv=0xbffff0f4) at main.c:53 ---Type <return> to continue, or q <return> to quit---53 read_main_config(); (gdb) quit
A debugging session is active. Inferior 1 [process 5957] will be killed. Quit anyway? (y or n) [answered Y; input not from terminal] What can I do to make it alive?
I am aware this has probably been covered hundreds of times, so apologies if so. I am fairly new to the linux scripting scene, so again apologies if what I'm saying seems pretty odd and makes no sense. I am attempting to write a script for some Linux Fedora test servers I have set up. For me to change which domain I have this set to point to, I would have previously changed the HOSTS and profile files manually, however I managed to make a script which changes these easily with the use of one command to launch the script.The problem I'm having is getting it to use the "export" command. I am aware this would have to be launched in the parent shell rather than the child and so I made a seperate script which has "export SIP_DOMAIN="test.blah.net" in it and had the first script "source" it. This doesn't work and I've probably done something somewhere that is incredibly stupid.