Questions about bash only, as opposed to other Bourne/POSIX shells. For all Bourne/POSIX-style shells, use the /shell tag instead.

learn more… | top users | synonyms

2
votes
1answer
5k views

Users home path in a bash script

I'm writing a bash-script that will be run as a cron job everyday. Very basic, I was wanting to change the wallpaper daily. I have mint-14 with mate. The thing I'm getting caught up on right now ...
1
vote
3answers
6k views

Get Return value of sub shell script

I have a shell script, where i start a new .sh script. Now I want to save the return value of the sub script in a variable. I found this script: #!/bin/bash r=1 while [[ r -ne 0 ]] do r=`vx $* < ...
-1
votes
2answers
6k views

Bash -Extract characters from string

Suppose I have the following variable $string = 'cat somecommandhere' Now the output of the above cat command is test="Thanks serverfault" I want to extract the value between the quotes and ...
1
vote
3answers
339 views

Best tool for monitoring server usage

I was just wondering what the best tools for retracing logs and what logs I should be checking to work out what's going wrong with a server, or what the client has executed to get the server into it's ...
2
votes
3answers
100 views

Ctrl+W in vi[m] to erase to whitespace

I want to mimic the functionality of bash readline in vim. Is there an easy way to do that? Currently in vim Ctrl+W "cuts" from cursor back to special char or whitespace. ie. In bash Ctrl+W "cuts" ...
6
votes
2answers
18k views

bash shell - ssh remote script capture output and exit code?

I wish to use shell to invoke a script on a remote server. I would like to capture the output of that script (its logging messages) and the exit code it returns. If I do this: ssh user@server ...
3
votes
2answers
529 views

echo string >> file does not work

I wrote the following script: for filename in `find . -name '*'.cpp | grep $IN_REGEX | grep -v $OUT_REGEX` do echo "Output file is $OUTPUT_FILE" count=`git log --pretty=format: --name-only ...
2
votes
2answers
640 views

find all cpp files and list only those files with names that match a pattern (regex) does not work

I have a whole repository of files and I am trying to get a list of files that match a certain criteria. For example, let us say that I want to take all the files that have the string foo1 and ...
1
vote
2answers
90 views

How to print find match as well as run an -exec

I was wanting to run a find and then execute a script on each match; however, I was wanting to print the name of the matched file above the output from each exec. How can I produce the following ...
2
votes
2answers
1k views

Use of quotes in GNU grep regular expressions

I could see that certain patterns in the GNU Grep can be enclosed within brackets and certain others need not be. For example, matching the beginning of a word works only if it is enclosed within ...
2
votes
1answer
518 views

Find Directory and copy another directory to found directory?

I'm attempting to find a directory A that could be in a variable location and copy another directory B into the found directory. So, I'd like to find directory A, and copy Directory B into Directory ...
4
votes
4answers
1k views

Using GNU Parallel With Split

I'm loading a pretty gigantic file to a postgresql database. To do this I first use split in the file to get smaller files (30Gb each) and then I load each smaller file to the database using GNU ...
4
votes
0answers
80 views

Combing head and tail in a single call via pipe [duplicate]

On a regular basis, I am piping the output of some program to either head or tail. Now, suppose that I want to see the first AND last 10 lines of piped output, such that I could do something like ...
2
votes
2answers
859 views

How to pass the output of a script to a command like ls without the output being split?

Suppose I have a script like this: #!/bin/bash printf '%q\n' "b c" Executing the script prints: b\ c on the commandline. Now, being in a directory which contains a file named b c I want to pass ...
3
votes
1answer
949 views

for loop in bash function

I recently wrote the following bash function: makeaudiobook () { count=1 almbumartist=$2 for f in $1; do preprocess $f > $f-preprocessed text2wave $f-preprocessed -o $f.wav ...
3
votes
2answers
439 views

In an interactive shell why would anyone set IFS to something other than the default?

Sometimes when writing script it can be necessary to set IFS(the internal field separator) to something other than the default, e.g. to change the way $* will be expanded. While this is totally ...
4
votes
1answer
243 views

Where is the cron timer

Is there any way to access the cron timers and get the seconds left until the next execution of scripts in the crontab or maybe the seconds since the last?
18
votes
2answers
49k views

How to display open file descriptors but not using lsof command

Hi I have read Here that lsof is not an accurate way of getting the number of File Descriptors that are currently open. He recommended to use this command instead cat /proc/sys/fs/file-nr While ...
2
votes
1answer
163 views

How can a bash script detect support for window titling escape characters?

I have a debug trap that runs every time I enter a command in bash that sets the window title to indicate what command is running. I'm leaving out all the configuration details and boil it down to: ...
9
votes
5answers
2k views

How can I have more than one possibility in a script's shebang line?

I'm in a bit of an interesting situation where I have a Python script that can theoretically be run by a variety of users with a variety of environments (and PATHs) and on a variety of Linux systems. ...
1
vote
2answers
5k views

How to run grep and show x number of lines before and after the match [duplicate]

grep returns just the line where it matched the regex and often what I want to really see is a few (say 2) lines above and below the matched one. Is there a simple way to achieve it? EDIT: OS: Ubuntu ...
3
votes
1answer
824 views

`expect`-like behaviour in bash script

I have a script (let's name it parent.sh) that calls some other scripts based on input parameters. Finally, it calls the script child.sh. child.sh requests user's input in case it find that some ...
0
votes
3answers
1k views

Using tail command to create a file

This is what I did using tail command. When I try to output the file to screen the file is empty. ~]$ tail > AFS2F1 PASSES ALL DATA FROM INPUT TO OUTPUT PASSES ONLY SPECIFIED COLUMNS PASSES NUMBER ...
2
votes
1answer
216 views

Confused about when to escape metacharacters in pathnames

I'm pretty confused about under which circumstances do I need to escape metacharacters in pathnames. Consider the following example: I'm in the following working directory: $ echo $PWD ...
3
votes
3answers
65 views

How to match name exactly with Bash's `help` builtin?

It seems the Bash built-in help command help does some really strange globbing: help read shows the documentation for read, readarray and readonly. help rea? shows only the documentation for read. ...
3
votes
2answers
6k views

What is the difference between declare and typeset

Can anyone explain difference between declare and typeset with real life examples .
5
votes
1answer
1k views

Get raw input from command line (ignore shell meta characters)

Is there any way to read raw text from stdin before it is expanded or before the shell does anything to it? Say I wanted to run a script where a user enters a string which is then printed out, how can ...
1
vote
2answers
336 views

Nested read fails

I have a list of filenames in a file and want to do let the user decide what to do with each. In bash, iterating over filenames is not trivial in itself, so I followed this answer: #!/bin/bash while ...
6
votes
4answers
20k views

How to get the first word of a string?

When I 'echo *' I get the following output: file1 file2 file3 ... What I want is to pick out the first word. How can I proceed?
2
votes
1answer
142 views

An -e option to cd builtin

According to Bash reference on Bash builtins: cd [-L|[-P [-e]]] [directory] The -P option means to not follow symbolic links; symbolic links are followed by default or with the -L option. ...
13
votes
2answers
4k views

Why does bash show 'Terminated' after killing a process?

Here is the behaviour I want to understand: $ ps PID TTY TIME CMD 392 ttys000 0:00.20 -bash 4268 ttys000 0:00.00 xargs $ kill 4268 $ ps PID TTY TIME CMD 392 ttys000 ...
0
votes
2answers
300 views

ipset not executing from crontab

I have this txt files that contains IPs, one per line of file, that I want to block using ipset. I have this bash script that essentially reads from the plain txt file and constructs an array. Then ...
3
votes
1answer
2k views

Confused about Debian error message from su

On Raspbian, the Debian distro aimed at RPi, I end up getting the following error: $ sudo su -l root -c /bin/bash bash: cannot set terminal process group (-1): Inappropriate ioctl for device bash: no ...
3
votes
1answer
4k views

How to execute a shellscript when I plug-in a USB-device

I want to execute a script when I plug in a device in my Linux machine. For example, run xinput on mouse or a backupscript on a certain drive. I have seen a lot of articles on this, most recently ...
0
votes
1answer
163 views

How to safely enlarge a gzipped file?

I have a gzipped file (around 3Kb), and I want its size to be exactly 4000. To achieve this goal, is it safe to add trailing padding with zeroes? (By safe I mean that the content of the gzipped file ...
7
votes
4answers
3k views

redirect and log script output

I am trying to tidy up the following snippets, design goals are to log all output from a script, and should not be a wrapper. Less lines are better. I don't care about user inputs (at this stage), ...
18
votes
5answers
876 views

Difference between “. myscript” and “./myscript” [duplicate]

I am confused by "one only dot - space - shell script name" (like . myshellscript) and "path to shell script" (like ./myshellscript) commands. What for they are? I noticed the command . myshellscript ...
5
votes
3answers
10k views

Bash script wait for processes and get return code

I am trying to create a script which will start many background command. For each background command I need to get the return code. I have been trying the following script : #!/bin/bash set -x ...
4
votes
2answers
4k views

find flags: -exec rm -rf vs -delete

I thought the flags I mentioned in the question are the same, but I get the following message with the former, but nothing with the latter: $ find . -mindepth 1 -type d -exec rm -rf {} \; find: ...
3
votes
2answers
989 views

Bash Wildcard Partial Match Directory

I have this bash script which is trying to find a directory that partially changes on peoples systems. cd "$HOMEDIR/AppData/Local/GitHub/PortableGit"*"/bin" Yet this does not seem to work - it ...
3
votes
2answers
359 views

How can I remove text on the last line of a file?

I am using a Bash shell script to construct a text file that contains a Javascript array. As far as I understand with Javascript, the last item in an array can't have a comma. In my Javascripts, that ...
1
vote
1answer
169 views

Copy files excluding x,y,z causing error in shell script

I'm not well versed in shell scripting but I imagine this to be a painfully easy fix but its eluding me. I need to copy the contents of a directory excluding a number of files. I have a command that ...
13
votes
4answers
2k views

How to do a continous 'wc -l' with gnu texttools?

I know of course that cat logfile.txt | wc -l 120 will tell me the number of lines in a file. Whereas tail -f logfile.txt will show me the new lines that another program writes to logfile.txt. ...
0
votes
2answers
2k views

Sending SIGUSR1 to parent

When I do a kill -SIGUSR1 $PPID I get kill: (1) - Operation not permitted . How can I overcome this?
5
votes
1answer
122 views

Bash globbing: how to express “something-*.txt except *-foobar.txt” as glob?

On the command line, can I express easily in terms of shell globs that I would like to catch all files something-*.txt, except for something-*-foobar.txt? If I can, how? NB: I know how to achieve the ...
6
votes
2answers
3k views

Why doesn't this xargs command work?

I wanted to delete all .sh extensions so did this: ls *.sh | xargs -I {} mv {} `basename {} .sh` However it doesn't work, it behaves like basename returns unchanged file name. Why is it behaving ...
2
votes
1answer
692 views

How to wait for a subprocess used for I/O redirection?

Consider the following snippet of Bash script: exec 3> >(sleep 1; echo "$BASHPID: here") do-something-interesting exec 3>&- wait $! echo "$BASHPID: there" When executed, it produces: ...
0
votes
2answers
491 views

remove a char string from a command output (sed, or maybe something else)

I'm trying to retrieve the distro name from the lsb_release -i output, but using lsb_release -i | sed 's/Distributor ID: //g' won't do the trick. What am I doing wrong? Or maybe should I change ...
2
votes
1answer
286 views

Simpler processing of shell script options

I'm looking for way to process shell script arguments that is cleaner and more "self documenting" than getopt/getopts. It would need to provide... Full support of long options with or without a ...
0
votes
1answer
107 views

Can't access server after rvm install

I messed up my server yesterday, and im not quite sure how to get it straight again. After trying to install SiriProxy by severall guides failing one after the other on the step for rvm and ...