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

4
votes
4answers
1k views

Bash Reuse Process Substitution File

I have a big script which takes a file as input and does various stuff with it. Here is a test version: echo "cat: $1" cat $1 echo "grep: $1" grep hello $1 echo "sed: $1" sed 's/hello/world/g' $1 I ...
4
votes
3answers
2k views

Read and process a string, char by char, yet allow user to simple line edit the input

I want to incrementally read a line of input from the terminal, and allow the user some basic line editing functionality; INS, DEL, RIGHT, LEFT HOME, END, BACKSPACE Each time the string is ...
8
votes
4answers
2k views

How do I find the overlap of two strings in bash? [closed]

I have two strings. For the sake of the example they are set like this: string1="test toast" string2="test test" What I want is to find the overlap starting at the beginning of the strings. With ...
22
votes
4answers
9k views

Bash history: “ignoredups” and “erasedups” setting conflict with common history across sessions

First of all, this is not a duplicate of any existing threads on SE. I have read these two threads (1st, 2nd) on better bash history, but none of the answers work - - I am on Fedora 15 by the way. I ...
5
votes
2answers
2k views

Open emacs in a terminal when editing crontab

I have setup emacs as my default editor in /etc/profile. When I want to use emacs in a terminal. I open it with the -nw option. How can I have the same behavior when doing a crontab -e preventing it ...
7
votes
3answers
953 views

Bash history number not starting at 1?

I was customizing my bash prompt (I'm on OS X 10.7) when I came across something strange. Within my prompt I included !, which should give me the history number. However the history number always ...
9
votes
1answer
2k views

Where have I set my bash PATH?

I want to remove ~/bin from my PATH.  I set it up months ago when Linux (Ubuntu) was very new to me, but I don't know how I added it... Nothing shows up when I search all the files listed below. ...
21
votes
2answers
3k views

Can I get individual man pages for the bash builtin commands? [duplicate]

Is there anywhere you can download a manpage for every builtin commands? I know you can just use help or man bash and search to find info about it, but I want them separated, so I can just do man ...
22
votes
3answers
11k views

How can I use two bash commands in -exec of find command?

Is it possible to use 2 commands in the -exec part of find command ? I've tried something like: find . -name "*" -exec chgrp -v new_group {} ; chmod -v 770 {} \; and I get: find: missing ...
4
votes
2answers
399 views

Combine two commands in .bash_profile

In my .bash_profile file, I'd like to setup a single command alias that is two commands that execute one after another. The first command takes an argument from the command line and the second is ...
3
votes
2answers
392 views

Bash: keybinding/trap issue

My .bashrc has the following: # Alt+L lists current directory bind -x "\"\el\":ls -ltrF --color=auto;" # trap commands and echo them to xterm titlebar. trap 'echo -ne "\033]0;$BASH_COMMAND - ...
7
votes
2answers
1k views

How does a shell (bash, for example) expand wildcard patterns?

Assume that a directory has 100 files starting with the letter 'a'. If I do a grep <some string> a* from the terminal, how will the shell handle this? Will it expand the regular expression, ...
16
votes
2answers
1k views

running script with “. ” and with “source ”

I was wondering if the following two ways of running a bash script are equivalent? . ./myScript.sh source myScript.sh Are they both running the content of the script instead of running the script, ...
3
votes
2answers
3k views

Why does my shell script give the error: “declare: not found”?

Here is a simple example showing that using declare in a script the script will not run, while sourcing the script will: $ cat /tmp/new #! /bin/sh declare -i hello $ chmod a+rwx /tmp/new $ /tmp/new ...
12
votes
6answers
5k views

Refer to a file under the same directory of a script found in $PATH

I have a bash script file, which is put under some directory added to $PATH so that I can call the script from any directory. There is another text file under the same directory as the script. I ...
7
votes
2answers
5k views

opening multiple URLs from a text file as different tabs in Firefox/Chrome?

How I would go about opening multiple URLs from a text file as different tabs in Firefox/Chrome? My text file is just a list of URLs, one per line: http://www.url1.com http://www.url2.com ...
8
votes
2answers
435 views

How does `find . -name *foo*` work?

I thought the wildcard * in the command find . -name *foo* is replaced by bash, and yet the command works unless *foo* matches something in the current directory, then it doesn't. It's confusing.
3
votes
3answers
177 views

Doing actions on a list from the shell

I have a list of packages I want to deinstall. The deinstaller program pkg_deinstall doesn't take a list of packages as parameter to deinstall. How would I deinstall from the list (like a foreach ...
10
votes
3answers
4k views

Is there a maximum size to the bash history file?

Can I increase the size of the command history in bash? Note that I use a Red Hat Linux computer in the undergraduate astrophysics department here (so I don't get that many privileges).
13
votes
2answers
2k views

How to safely pass variables to root-enabled scripts?

This question is totally general and not only applicable to my situation, but... I have a small busybox appliance where I want a non-root user to be able to execute a particular script with root ...
3
votes
1answer
426 views

Conditionally killing a process based on its output

I have a REPL (read-eval-print-loop) for the Clojure programming language listening on a network socket. I can send it code over the network and the code will be evaluated and the answer sent back to ...
7
votes
3answers
6k views

Get path of current script when executed through a symlink

I have a utility consisting of a couple directories with some bash scripts and supporting files that will be deployed to several machines possibly in a different directory on each machine. The ...
4
votes
2answers
1k views

Why does Ctrl+Arrow make my terminal switch to a strange mode?

When i type Ctrl+Left or Ctrl+Right within Guake or gnome-terminal the last one's behaviour turns to a some kind of non-usual mode: - key acts like arrow up and + like arrow down, v runs Nano, etc. ...
3
votes
2answers
293 views

Advanced usage/command of shell [duplicate]

Possible Duplicate: Is there any book , Tutorial on very very advanced shell scripting Is there a way/book to learn advanced usage of shell by practice? I find that most shell programming ...
1
vote
1answer
179 views

Printing evaluated prompt placeholders to screen

Is there a way to print interpreted PS1 variable placeholders to console? Something like $ echo `%u` for printing a username or $ echo `%h` for printing a host. I do know about environment ...
1
vote
1answer
419 views

Pipe Python Shell to source-highlight

When I try to make the Python shell get color: python 2>&1 | source-highlight --failsafe -f esc -s python the >>> prompt seems to be always delayed by 1 command. Why is this ...
7
votes
3answers
5k views

What is signal 0 in a trap command?

I'm following this guide on how to set up passwordless SSH authentication with ssh-agent. To start up ssh-agent the author recommends the following code in .bash_profile: SSHAGENT=/usr/bin/ssh-agent ...
6
votes
3answers
3k views

Launching application from terminal [duplicate]

Possible Duplicate: How can I close a terminal without killing the command running in it? How to launch a GUI application (e.g. gedit) from terminal and detach it from there in one step?
3
votes
1answer
1k views

Chinese characters instead of Latin being written to file

When I run sed like this and print to a console everything is fine: sed '/Q/{ s/Q//g r /Users/ericbrotto/Desktop/question.txt }' Commision.txt But when I do this and output t a file: sed '/Q/{ ...
2
votes
3answers
569 views

When does the order of arguments matter?

In bash, I am not sure if my observation is correct. For most commands, option-like arguments, i.e. arguments that begin with --abc or -a, can be anywhere in the list of arguments to the command, ...
7
votes
3answers
286 views

Shell and applications

Is it true that all commands that can run in bash are not actually part of bash? I'm gradually realizing I have been confusing the shell and the applications that can run in it.
4
votes
8answers
277 views

“which” with a little “grep”-like solution?

# which mkdir /bin/mkdir # which mkdi # How can I get the path of the e.g.: mkdir's binary without knowing the name of the binary file? (command). So that which mkdi would output the /bin/mkdir ...
7
votes
1answer
2k views

.inputrc TAB not behaving as expected

I'm on a roll today, here's another question: How come when I put these into .inputrc, they both do the same thing? TAB: menu-complete Shift-TAB: menu-complete-reverse i.e. they both do whatever ...
1
vote
3answers
2k views

Ls with spaces + variables

I want to do something like this, but it doesn't save the variable after the piping ends: fs=( ) echo ${fs[@]} ls -A1 | while read f do echo ${fs[@]} fs+=( "$f" ) echo ${fs[@]} done echo ...
6
votes
6answers
5k views

Using data read from a pipe instead than from a file in command options

Per man definition, this command gets the input from a file. $ command -r FILENAME Suppose that FILENAME is a file containing a list of filenames, as it was generated using ls > FILENAME. How ...
3
votes
1answer
293 views

Could someone please explain some of these escape codes?

I'm seeing this in my .bashrc file: PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\ [\033[01;34m\]\w\[\033[00m\]\$ ' and I have absolutely no idea what all those ...
2
votes
3answers
1k views

sorting filenames numerically when they have non-numeric prefix

I have files in the following format: x1 x2 ... x10 x11 ... x101 ... I want to rename these files, so they all have the same name length: x001 x002 ... x010 ... I can do this with files, that don't ...
9
votes
2answers
3k views

Make BASH's Tab Completion Fill In First Match?

Is there any way to make BASH fill in the first match when I press TAB, kind of like the Windows command prompt? (It should still display the list of matches, but it should cycle through them when I ...
7
votes
1answer
4k views

Why does redirection (>) not work sometimes but appending (>>) does?

While studying for the RHCE, I came across a situation where stdin redirection does not work in bash: # file /tmp/users.txt /tmp/users.txt: cannot open `/tmp/users.txt' (No such file or directory) ...
2
votes
1answer
4k views

How do I customize the bash prompt on centos?

I've altered the /etc/bashrc file. I commented out the previous definition and inserted my own: PS1="--bash: (\u@\h:\w) $" This is not having any affect. When I make this change at the command ...
2
votes
2answers
649 views

.DELETE_ON_ERROR behavior with make and pipelines

The .DELETE_ON_ERROR target will tell make to delete a target if a rule fails. But this doesn't work for pipelines, because the exit status value $? holds the value of the last program in the ...
9
votes
1answer
735 views

What is the best way to detect (from a script) whether software is installed?

I've been frustrated before with differences in output from the which command across different platforms (Linux vs. Solaris vx. OS X), with different shells possibly playing into the matter as well. ...
2
votes
1answer
171 views

How can I control bash's brace expansion to do the right thing (which zsh does automatically)?

In zsh, I get the expected result from both of these brace expansions: $ touch file-{001..100} $ touch file-{1..100} The first one gives me files named file-001, file-002, etc., all the way to ...
4
votes
2answers
6k views

How can I make PuTTY compatible with Solaris?

I'm connecting to a Solaris machine from WinXP using PuTTY. When I try to use the NumPad keys for editing a command in Bash (Home, End, Delete) a ~ character is instead printed to the console. ...
3
votes
4answers
2k views

Shell scripts Linux -> Solaris conversion guide

I've developed a few Bash scripts on a LFS system which should now be made to work on a minimal installation of Sun Solaris 10. Is there a guide somewhere with at least some general tips for ...
2
votes
3answers
631 views

Prefix every argument with -o in BASH

How do I prefix -p to every argument passed to my function? Modifying the arguments themselves and creating a new array are both fine.
3
votes
1answer
765 views

bash: cd to the most recently modified child directory

Wondering if there's an easy and/or portable way to say "change to the most recently modified child directory." I can use ls and awk but there's probably a better way. cd $( ls -ltrd */ | tail -1 | ...
1
vote
1answer
92 views

awk expand window to 500% for two numbers from column file

I've got a file with two columns corresponding to start-end ranges like this: awk '{print $2"-"$3}' file.txt 91082802-91082990 94018177-94018321 146945732-146945949 88701397-88701594 ...
0
votes
1answer
626 views

safely killing a background process

I'm writing data to a pipe in a parent process. The parent process creates a background job that reads data from the pipe & write it to the screen & to a log file. How can I know when to kill ...
2
votes
3answers
138 views

A command used in another command

For djvused command, there is an option: -e command Cause djvused to execute the commands specified by the option argument commands. It is advisable to surround the djvused commands by ...