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

17
votes
4answers
12k views

Command substitution: splitting on newline but not space

I know I can solve this problem several ways, but I'm wondering if there is a way to do it using only bash built-ins, and if not, what is the most efficient way to do it. I have a file with contents ...
5
votes
3answers
2k views

Why `> my.log 2>&1 &` causes the job to sustain log out?

I use myscript > my.log 2>&1 & to run a script and collect it's output - so that when I logout - the script will still be running. It I were to start it with myscript & - it will ...
1
vote
1answer
423 views

How to 'ls' current directory (which is under svn) files info (path)?

How can I sort of list current directory contents (including sub-directories recursively) (which is under svn) files info (path relative to current dir)? I want this to get log in format like: ...
4
votes
4answers
7k views

How can I check if mysql is installed using a bash script?

I need to check if mysql is installed from within a bash script. What would be an efficient way of doing that? I thought I could do this: if [ ! -f `which mysql` ] ; then echo "foo" fi But I ...
1
vote
1answer
2k views

Connect to a remote mysql server with bash php or perl

What is the best and lowest resource way to connect to a remote mysql server (server1.example.com) and execute queries like INSERT into SERVICES (user, id) ($user, $id) from server2.example.com? ...
8
votes
3answers
6k views

Using in/out named pipes for a TCP connection

I've been fiddling with getting this to work for a while now, so I suspect some sort of fundamental misunderstanding about how pipes work is the root cause of my troubles. My goal is to initiate a ...
2
votes
2answers
126 views

Is there an easy way to stop and reissue a command?

I am doing Node.js development in Ubuntu and I'm curious if there is a way to quickly stop and restart a node server. I run this command to start my app: $ node app.js When I make changes to ...
6
votes
1answer
358 views

Emacs commands in xterm

I found that the commands I used to use in gnome-terminal, those I learned in Emacs, are only partially working in xterm. In some cases, I get strange chars like ÿ, æ, and â instead. Do you know how ...
13
votes
1answer
915 views

Why does variable expansion without $ work in expressions?

#!/bin/bash VALUE=10 if [[ VALUE -eq 10 ]] then echo "Yes" fi To my surprise, this outputs "Yes". I would have expected it to require [[ $VALUE -eq 10 ]]. I've scanned the CONDITIONAL ...
9
votes
4answers
4k views

su does not change user but does not respond with an error either

While logged in as root I would like to su to a specific regular user. I run su username and immediately receive the prompt back, still as root. There is no error given. I'm aware of the old "the user ...
75
votes
6answers
4k views

Run a command that is shadowed by an alias

Let's say i have the following alias in bash - alias ls='ls --color=auto' - and i want to call ordinary ls without options. Is the only way to do that is to unalias, do the command and then alias ...
1
vote
1answer
296 views

Switching source and destination (or undoing the mv, cp operation)

mv or cp commands both expect source and destination as arguments. In case you want to undo the change you made, or just change the source and destination you supplied before, what is the quickest ...
2
votes
2answers
280 views

How do I ad an if statement (regarding punctuation in a word) to this bash script

I have this bash script #!/bin/bash cat $@ | while read line do for word in $line do echo $word | circling-the-square # here's where i need to add the if statement: ...
30
votes
1answer
9k views

How to Navigate within bash's Reverse Search?

Bash offers the functionality to reverse search via Ctrl + R. Then one can type in a part of a command it will show a fitting entry from the history. Assume this is my history: vim foo1 vim foo2 # I ...
3
votes
1answer
2k views

bash: get last stdout [duplicate]

Possible Duplicate: How do I reuse the last output from the command line? If I for example type aptitude search dia I get a lot of unrelated stuff. At that point, I suspect that | head ...
1
vote
5answers
2k views

Start/stop program from website

I have some users on my machine that I allow to run small Mumble voice servers. I would like for them to be able to start/stop their voice server from a website (being ran by Apache). With the current ...
2
votes
2answers
294 views

Quick and dirty way to run a process more than once

I am looking for very simple bash script that would allow me to launch a process a few times. What's essential to me is that after the processes terminate, everything will clean up automatically. ...
3
votes
1answer
797 views

How to test the touch screen on embedded devices like iPhone / iPad / Kindle? [closed]

I want to test the touch panels on embedded devices like iPhone, iPad and Kindle against following criteria: Do a gesture, like tap, swipe, pinch ( zoom in/out) 10000 times and validate that every ...
2
votes
3answers
687 views

How can I turn ugly output into pretty, useful information?

How can I turn this ugly output into pretty, useful data? The output: /* ---------- TA#box#AbC_p ---------- */ insert_job: TA#box#AbC_p job_type: a #owner: bob permission: gx date_conditions: 1 ...
1
vote
2answers
474 views

sqlite3 bash grep username

#!/bin/bash username=$(sqlite3 db.sl3 "select user from main";) yad --list --column="#" "$username" --height 200 I want to display the usernames of my db in a list and then select one of theme. The ...
5
votes
2answers
16k views

How to check if a filesystem is mounted with a script

I am new at scripting ... I can do very basic stuff, but now I need a hand. I have a local filesystem that only will be mounted when I need to do a backup. I'm starting with this. #!/bin/bash ...
4
votes
4answers
9k views

Is there an online bash script testing site?

Sometimes I need to help friends with bash scripting. When I'm on a Windows machine, it's a working environment and I can't just setup Cygwin or use a VM. Is there some free scripting website I can ...
0
votes
2answers
9k views

Checking if files exist in some remote folders with bash

I need to do a script to look in some folders and send an email if there are files in these folders. I've tried to do something like this but I get errors with the command variable and print of the ...
0
votes
2answers
3k views

Why does this incrementing for loop return a bad variable?

I'm trying to call this shell script from within the CLI of GRASS GIS: for (( day=5; day<367; day+5 )); do # commands that I've tested without a loop. done exit 0 returns Syntax error: Bad ...
5
votes
1answer
2k views

“unexpected end of file” in bash script

I have this if in a bash script: if [ $ACTION = deploy ]; then ${JAVA_HOME}/bin/java ${JVM_ARGS} weblogic.WLST << EOJ connect('XXX','XXX','t3://XXX:8001') jndi(); ls(); ...
1
vote
1answer
183 views

cat command from textbook is not working on my Ubuntu Natty

I am trying to reproduce the following command from my textbook on my system, cat("2 3 4 5", "11 13 14 15", file="ex.dat", sep="\n") but I keep getting this error: bash: syntax error near ...
-4
votes
2answers
1k views

How to write bash script that deletes the oldest file in a directory if there are greater than N files in the directory?

Wondering how would one go about writing a script that: Counts the number of files in a directory. If that number is greater than a specified number N, delete the oldest file in the directory. For ...
7
votes
3answers
7k views

bash: /dev/stderr: Permission denied

After upgrading to a new release version, my bash scripts start spitting errors: bash: /dev/stderr: Permission denied in previous versions Bash would internally recognize those file names (which is ...
-5
votes
1answer
398 views

Linux: create list of text with multiple operators [closed]

I want to make a list like this: 7785237_770x770_de3b540dc13ed50023d17854513b40aa07e50a6a 732308_770x770_ec5c344c0114011a5306b31142ff9b001813f6d6 ...
4
votes
3answers
7k views

Why does bash variable expansion retain quotes?

> echo "hi" hi > VAR='echo "hi"' > $VAR "hi" Why is the output of the above commands different? A similar thing occurs with single quotes: > VAR="echo 'hi'" > $VAR > 'hi'
0
votes
2answers
407 views

Running a command based on output of previous command

Consider the following command. I want to echo "yes" if grep has output and echo "no" if grep returns no output. cat myfile | grep "something" Can I do this without if command?
3
votes
2answers
2k views

Passing a bash command-line argument containing a dot

How can a command-line argument containing a dot (.) be passed? Are there any escape sequences for capturing characters like dot? The following invocation of a bash-script from the shell does not ...
3
votes
2answers
788 views

pure shell complex substitution in variable

However it may be impossible, I hope I'm just bad man reader =) Is there any way to substitute text in variables on several patterns at time or even using back reference? For example, I have ...
13
votes
4answers
4k views

How can I find a rogue alias declaration?

I'm trying to find where a specific alias has been declared. I've searched all the usual places I know to look for aliases: ~/.bashrc ~/.bash_profile /etc/bashrc /etc/profile With no luck. I know ...
6
votes
3answers
1k views

Glob with Numerical Order

I have this list of pdf files in a directory: c0.pdf c12.pdf c15.pdf c18.pdf c20.pdf c4.pdf c7.pdf c10.pdf c13.pdf c16.pdf c19.pdf c2.pdf c5.pdf c8.pdf c11.pdf c14.pdf c17.pdf c1.pdf ...
5
votes
2answers
4k views

What causes ln: //: Is a directory?

When linking a directory to root, I get this error: $ ln -s ~/inbox/ / $ ln: //: Is a directory Bash autocompletes the directory path by adding a /. I've tried escaping without success. $ ln -s ...
3
votes
1answer
591 views

KSH styling text based menu using STDERR

Is it possible to format the STDERR in order to have a better looking menu using the select command? I have a simple select select oChoice in $(<tempMenu.menu) ; do case "$oChoice" in ...
14
votes
3answers
5k views

Switching to `zsh`: Are all bash scripts compatible with `zsh`?

I'm looking to switch from bash to zsh but concerned about compatibility of bash scripts. Are all bash scripts/functions compatible with zsh? Therefore, if that is true is zsh just an enhancement to ...
20
votes
3answers
992 views

Where can I find documentation about the “sudo !!” command

I just learned that Linux has a sudo !! command which literally applies sudo to the last entered command. I had never heard about it. Is that a common control? Where can I find documentation about ...
13
votes
4answers
8k views

How can I force unzip / zip not to create a subdirectory when I extract it?

Depending on how a zip file is created, sometimes it will extract all of the files directly, and sometimes it will extract the files into a subdirectory. If the latter is true, how can I force the ...
4
votes
3answers
517 views

Does bash have a built in caching command available (sort of like mktemp or sponge)?

I'm using the amazon ec2 command line tools, and the ec2-describe-instances tool is a little painful because of the 2-5 seconds it requires to make the request and display the output. I'm looking ...
8
votes
4answers
3k views

How can I save the last command to a file?

When I am running my analyses using the bash shell, I often want to save the commands I've used that gave me good results to a file in the same directory (my "LOGBOOK", as its called) so that I can ...
8
votes
4answers
6k views

Remove files older than 5 days in UNIX (date in file name, not timestamp)

I want to delete log files which are older than 5 days from a directory. But deletion should not be based on the timestamp of file. It should be based on the name of file. For Example todays date is ...
2
votes
0answers
191 views

What is and how to use PS1 \#

I put this is .bashrc # colors NC="$(tput sgr0)" RED="$(tput setaf 1)" GREEN="$(tput setaf 2)" # etc ... PS1="\[$BROWN\]\u \[$CYAN\]#\# \[$PINK_BLD\]!\!\[$NC\] \[$BLUE\]\W: \[$NC\]" So deepo #50 ...
1
vote
3answers
167 views

Is there a way to determine when a binary was compiled or installed?

Is there a way to determine when a binary was compiled or installed? For example, I have a binary mdrun_d, and I would like to know when this particular binary was compiled or installed. The system ...
2
votes
1answer
150 views

How do I detect whether changes in nano were discarded or saved?

I am currently writing a small setup script for a Linux application that needs the user to edit a configuration file before the application is started. I've chosen to make the script simply open the ...
2
votes
1answer
20k views

How do I execute a remote shell script over SSH and be prompted for passwords by commands that require it in that script?

I want to do something like this ssh user@remote-domain.com ./remote_script.sh Contents of remote_script.sh #!/bin/bash hg pull This example is much simpler than what I am actually doing. I know ...
6
votes
4answers
1k views

How to add a line to a file which has only root write permission and to continue the script execution

I am trying to learn bash scripting. I am working on a practical problem and at one point I need to add a line to a file which requires root permission to write. The code looks like this: # some ...
15
votes
2answers
36k views

How do I delete the first n lines of an ascii file using shell commands?

I have multiple files that contain ascii text information in the first 5-10 lines, followed by well-tabulated matrix information. In a shell script, I want to remove these first few lines of text so ...
2
votes
1answer
113 views

When is using ~+ useful?

As I understand it, ~+ means the same thing as "the current working directory". So echo ~+ should print the same as pwd. What is the purpose of this tilde expansion ~+ ?