Questions tagged [bash]

Questions specific to GNU’s Bourne Again SHell, as opposed to other Bourne/POSIX shells. For questions about Unix shells in general, use the /shell tag instead. For shell scripts with errors/syntax errors, please check them with the shellcheck program (or in the web shellcheck server at https://shellcheck.net) before posting here.

Filter by
Sorted by
Tagged with
64 votes
6 answers
42k views

How to echo a bang!

I tried to create a script by echo'ing the contents into a file, instead of opening it with a editor echo -e "#!/bin/bash \n /usr/bin/command args" > .scripts/command The output: bash: !/bin/...
user avatar
  • 23.7k
9 votes
4 answers
2k views

Changing the bash prompt

Where is the setting that determines what the bash prompt looks like? Specifically on Arch, but I'm sure others would like to know for other distros too if it's different. Speficially I'd like to use ...
user avatar
  • 12.3k
6 votes
1 answer
3k views

What does the 'a' attribute in lsattr mean?

I was trying to remove some old history from my .bash_history file, but I was receiving this message: [john ~] /home/john $ mv .bash_history .bas mv: impossible to move `.bash_history' to `.bas': ...
user avatar
  • 657
56 votes
3 answers
68k views

CLICOLOR and LS_COLORS in bash

I have the following setup in .bashrc for coloring of listings. export CLICOLOR=1 export LS_COLORS='no=00:fi=00:di=00;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;...
user avatar
  • 7,750
4 votes
5 answers
6k views

Toggle between dvorak and qwerty

I've recently started to learn the dvorak keyboard layout, but I still need to use qwerty sometimes. I'm looking for a script to toggle between the two keyboard layouts. Also, I'd like to invoke ...
user avatar
  • 23.7k
8 votes
2 answers
18k views

How to get a program running with root privileges without using su or sudo

I have a bash script that needs to run with root privileges, but must be invoked by the normal user. Difficult part is that the script should not ask for a password, and I don't want to use the ...
user avatar
  • 23.7k
10 votes
1 answer
3k views

Bash autocomplete in ssh session

It seems that bash doesn't want to autocomplete commands (what's annoying me right now is not autocompleting apt-get) when I'm logged into my machine from SSH. Is there some setting that will allow ...
user avatar
  • 12.3k
4 votes
3 answers
3k views

Substitute part of text file using bash script

I'm writing a shell script (bash) to fetch and build several bits of software. The script also writes several small config files and needs to alter a couple of pre-existing config files. What is the ...
user avatar
45 votes
6 answers
41k views

How to remove "You have mail" welcome message

When I open up my terminal it says "you have mail", anyone has any idea of why? I am running OS X, but since it too is based on Unix and relies on files such as bashrc, bash_profile etc. I thought ...
user avatar
7 votes
4 answers
12k views

How do I force the user to become root

I have written a bash script for use on my ubuntu box. Now I would like to prevent running this script under my own user and only able to run it as root (sudo). Is there a possibility to force this. ...
user avatar
  • 1,094
0 votes
0 answers
163 views

How to mimic zsh named directories with bash [duplicate]

Possible Duplicate: bash directory shortcuts zsh has the concept of named directories, so you can say in ~/.zshrc c=/home/fschmitt/svn/plugin_root : ~c and later use this short cut in the shell ...
user avatar
  • 8,600
5 votes
2 answers
2k views

How can I simulate keyboard shortcuts in a bash alias?

For example, one of my bash aliases is this alias p='clear;ls -lt;pwd;' clear also clears the history which I don't want. I just want to clear the screen momentarily. Ctrl+L however does exactly ...
user avatar
  • 33.1k
51 votes
7 answers
233k views

How do I count the number of occurrences of a word in a text file with the command line?

I have a large JSON file that is on one line, and I want to use the command line to be able to count the number of occurrences of a word in the file. How can I do that?
user avatar
  • 613
2 votes
3 answers
1k views

build script: how to implement a "skip previously completed step"

I'm trying to create a build script for GCC (which works, for now), but I would like to be able to skip rebuilding all the prereq libraries when I'm only updating GCC/binutils for example. I thought ...
user avatar
  • 370
3 votes
1 answer
3k views

Array of string expanded to path?

Suppose I have the following initialization of bash array: my_array=( "/usr/bin" "/usr/lib/*.so" ) If I do iteration using: for array_item in ${my_array[@]} do ... done Then the ...
user avatar
  • 3,660
4 votes
3 answers
638 views

Randomise or shred memory of an application

Is it possible to randomise or shred memory of a particular application just after its life ends, or better, whenever it deallocates some memory? A command-line utility like this would be perfect: ...
user avatar
185 votes
2 answers
236k views

How to suspend and resume processes

In the bash terminal I can hit Control+Z to suspend any running process... then I can type fg to resume the process. Is it possible to suspend a process if I only have it's PID? And if so, what ...
user avatar
  • 23.7k
1 vote
2 answers
595 views

Problematic build script with quotes

Hi I'm trying to create a build script that executes these commands: cd libiconv ../../src/libiconv/configure --prefix=/home/ruben/mingw64/build/gcc-libs \ --host=x86_64-...
user avatar
  • 370
0 votes
0 answers
350 views

bash: recall command by typing some characters of it [duplicate]

Possible Duplicate: best way to search my shell's history In MSDOS I have the option to start typing some characters of a previous command and then pressing F8 it will search the command ...
user avatar
3 votes
2 answers
956 views

Script for ssh Agent Management: Is this adequate? Any bugs?

The following is something I use to manage my ssh agent settings. #!/bin/echo "Must source this:" ## Ensure that ~/.ssh/env contains valid values unset SSH_AGENT_PID SSH_ENV_REFRESH [ -r ~/.ssh/...
user avatar
6 votes
5 answers
11k views

How to find image files by content

I have a list of files and I need to find all the image-files from that list. For example, if my list contained the following: pidgin.tar.gz photo01.jpg picture01 screenshot.gif invoice.pdf Then I ...
user avatar
  • 23.7k
3 votes
2 answers
245 views

Specifying which git repo to use

I have a bash script, called cgit, that acts as git for one specific git repo (located at /.git): #!/bin/bash cd /; sudo git $@ > /dev/stdout I use it to keep track of imporant system files: ...
user avatar
  • 23.7k
37 votes
2 answers
34k views

How to specify a custom autocomplete for specific commands?

Is there a way to have bash know exactly what to display when you double tab? For example I have a python script scpy which requires a couple arguments. For example like apt-get, if you double tab ...
user avatar
  • 12.3k
10 votes
3 answers
15k views

How do I split the $0 variable to find directory and relative paths in bash?

The $0 variable contains the path info of the script. How can I change the path info to absolute path? I mean how to process ~, ., .. or similar? How can I split the path info into directory and file ...
user avatar
  • 7,750
12 votes
3 answers
4k views

Change the PS1 color based on the background color?

I learned that I can change the format of PS1, especially the color of the string. Then, is it possible to change the color based on the background color of the shell? Or, how can I detect the ...
user avatar
  • 7,750
9 votes
3 answers
4k views

bash PS1 setup

I'm trying to make PS1 configured as follows. Green="\[\e[32;1m\]" Red="\e[0;31m" Purple="\e[0;35m" STARTCOLOR="\[\e[40m\]" ENDCOLOR="\[\e[0m\]" export PS1="$STARTCOLOR$Green\u@$Purple\h $Red\w$Green>...
user avatar
  • 7,750
7 votes
2 answers
3k views

Capture multi-line output of a bash builtin

Normally, bash is able to assign multi-line output of a command: L=`ls` This works from both interactive shell and scripts. But it appears the output of a builtin can't be captured in a variable: L=...
user avatar
  • 4,278
7 votes
2 answers
3k views

dash compatibility to bash

Wikipedia says that dash executes faster than bash. My question is, if I set /bin/sh to dash, will all scripts that use /bin/sh in their shebang line that was intended for bash work under dash?
user avatar
  • 3,660
46 votes
8 answers
76k views

Grabbing the extension in a file name

How do I get the file extension from bash? Here's what I tried: filename=`basename $filepath` fileext=${filename##*.} By doing that I can get extension of bz2 from the path /dir/subdir/file.bz2, but ...
user avatar
  • 3,660
8 votes
1 answer
939 views

Whenever I type some wrong command, my terminal tries to run that command in the background

Something strange started happening to my terminal. Whenever I type some wrong command it tries to run that command in the background. hegeek@colinux: ~# l [9]+ Stopped l thegeek@colinux: ~# ...
user avatar
  • 6,544
7 votes
6 answers
23k views

Bash eval array variable name

Here is my bash case: First case, this is what I want to do "aliasing" var with myvarA: myvarA="variableA" varname="A" eval varAlias=\$"myvar"$varname echo $varAlias Second case for array variable ...
user avatar
  • 3,660
291 votes
5 answers
242k views

Why doesn't my Bash script recognize aliases?

In my ~/.bashrc file reside two definitions: commandA, which is an alias to a longer path commandB, which is an alias to a Bash script I want to process the same file with these two commands, so I ...
user avatar
  • 9,734
31 votes
7 answers
35k views

bash directory shortcuts

When I type cd ~foo, I'd like bash to take me to some directory foo as a shortcut for typing the full directory path of foo. and I'd like to be able to cp ~foo/bar.txt ~/bar.txt to copy a file from ...
user avatar
  • 3,283
15 votes
3 answers
50k views

Remote for-loop over SSH

I have the following in a script for server in ${servers[@]}; do echo ${server} ssh user@${server} "for i in /tmp/foo* ; do echo ${i}; done" done But it doesn't work. Weird thing, I see $I ...
user avatar
2 votes
1 answer
147 views

How do I make the "1.9.2" Ruby string point to the final release with RVM?

I'm using RVM to manage my Ruby environment on OSX, and currently it's interpreting '1.9.2' as ruby-1.9.2-rc2 instead of the final release. How can I update this to make it behave as expected?
user avatar
9 votes
3 answers
28k views

Convert ascii code to hexadecimal in UNIX shell script

I'd like to convert ASCII code (like - or _ or ., etc.) to hexadecimal representation in the Unix shell (without bc command), eg : - => %2d. Any ideas?
user avatar
669 votes
24 answers
246k views

Preserve bash history in multiple terminal windows

I consistently have more than one terminal open. Anywhere from two to ten, doing various bits and bobs. Now let's say I restart and open up another set of terminals. Some remember certain things, some ...
user avatar
  • 15.1k
13 votes
5 answers
15k views

Run a script via cron every other week

I've done quite a bit of research in how to do this, and I see there's no direct way in cron to run a job, say, every other Thursday. Right now, I'm leaning toward making a script that will just run ...
user avatar
  • 175
6 votes
3 answers
2k views

Scheduling command/script by specifying the exact second

I'm using bash and wondering how I can execute a command/script at a later specified time, with the accuracy of a second? I read the man page for the at-command, but as far as I could understand it's ...
user avatar
98 votes
7 answers
36k views

how to glob every hidden file except current and parent directory [duplicate]

I want to glob every hidden file and directory, but not the current (.) and parent directory (..). I am using bash. Observe current behaviour: $ ls -a . .. ...a ...aa ..a ..aa .a .aa .aaa ...
user avatar
  • 25.4k
187 votes
14 answers
217k views

Batch renaming files

I have a directory full of images: image0001.png image0002.png image0003.png ... And I would like a one-liner to rename them to (say). 0001.png 0002.png 0003.png ... How do I do this?
user avatar
  • 3,393
6 votes
1 answer
231 views

How can I make Ubuntu UI uniformly use bash keyboard shortcuts?

On my default 10.04 Ubuntu install I am consistently tripped up by the fact that some UI text areas/input boxes treat CtrlA as "select all" vs. "move my cursor to the beginning of the line." Is there ...
user avatar
  • 63
107 votes
2 answers
338k views

su options - running command as another user

I was wondering how to run a command as another user from a script. I have the script's owner set as root. I also have the following command being run within the script to run the command as the ...
user avatar
  • 1,305
3 votes
2 answers
1k views

Block specific IP from accessing gateway

Suppose you are on linux internet gateway/router. What would you do to block a client with specific IP using bash script. I prefer something like ./block_client.sh 192.168.1.123 to block and ./...
user avatar
  • 3,660
21 votes
2 answers
4k views

Display stuff below the prompt at a shell prompt?

Lets's say my prompt looks like this (the _ represents my cursor) ~ % _ Is there any way I could make it look like this ~ % _ [some status] The question was originally about zsh, but now has ...
user avatar
3 votes
2 answers
1k views

How can I apply caret-substitution to my nth-last command?

I regularly find myself having to execute a lengthy command on a file, then process the results with other commands. To process the next file, I usually rerun the same command by hitting the Up key ...
user avatar
  • 9,734
63 votes
6 answers
15k views

What features are in zsh and missing from bash, or vice versa?

As a Linux user, I've always just used bash because it was the default on every distro I used. People using other Unix systems such as BSD seem to use other shells far more frequently. In the ...
user avatar
  • 3,650
36 votes
7 answers
96k views

Which shell should I use - tcsh vs bash? [closed]

I have been using tcsh for a long time now. But whenever I am searching for something, I often find that the methods specified are bash specific. Even the syntax for the shell scripts is different for ...
245 votes
9 answers
175k views

How to determine where an environment variable came from?

I have a Linux instance that I set up some time ago. When I fire it up and log in as root there are some environment variables that I set up but I can't remember or find where they came from. I've ...
user avatar
  • 2,553
6 votes
8 answers
1k views

Write a remote managing script

I need to be able to locally run a script that will connect to various servers and run commands on them. What is the best way to accomplish this?
user avatar
  • 3,546