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.

learn more… | top users | synonyms

19
votes
6answers
2k views

Is there another simple way to append line to end of file other than `>>`?

Recently I'm echoing short sentences to a tree_hole file. I was using echo 'something' >> tree_hole to do this job. But I was always worried of what if I mis-input of > instead of >>, ...
0
votes
1answer
666 views

How does this bash alias to repeat the last command as sudo work? [duplicate]

I recently came across this ingenious bash alias to repeat the last issued command, but as sudo. This could be done by using sudo !! directly in the terminal after the failed command. The alias I ...
3
votes
5answers
735 views

How can I run a specific line as a command in a text file?

Sometimes I need to exec a single command which is in a shell script. I already know sed -n 'line_num p' can print that line. But how can I exec that printed out specific line as a command?
1
vote
1answer
159 views

Why is “bind ~/.inputrc” causing my up-right slash key ('/') to be disabled until I re-login?

Below is my .inputrc file. Why, after calling bind ~/.inputrc, is my up-right slash key disabled, until I logout and login again? # Key-bindings for the command-line editor. # Ask before displaying &...
3
votes
3answers
246 views

Why does xterm/bash word-wrap even tho window is large to fit command

So this happens some times, not always. I'll write a really long command and I'll be satisfied with it wrapping around at the edge like so: What I don't like to happen however is, after increasing ...
1
vote
3answers
2k views

Execute command in another terminal and closing it without killing command

For closing terminal without killing script/command we use & operator at last while calling command. Like: gedit & Here I used gedit as an example command Same thing I want to do on ...
8
votes
3answers
2k views

Save exit code for later

So I have a little script for running some tests. javac *.java && java -ea Test rm -f *.class Now the problem with this is that when I run the script ./test, it will return a success exit ...
1
vote
2answers
482 views

Locked out of my own mac terminal?

So recently, some of my friends had been tampering with my files and data through terminal, so I decided to secure it by doing two things: First, I added the following to my ~/.bash_profile for ALL ...
-2
votes
1answer
116 views

'Is a directory' while trying to pass to destination directory

I've been trying to get my script to work from a cron job so that I can automate a backup of my /home directory, but unfortunately when I run with run-parts to test if the script will work I keep ...
1
vote
6answers
1k views

How do I deal with directories that have spaces in their names from `find`? [duplicate]

I have this: #!/bin/bash for file in `find . -type d` do echo $file done If I have just one directory called My Directory, the output is My Directory How do I fix this? The echo $file is ...
3
votes
2answers
375 views

How to use tee to capture STDOUT from a code block to a filename defined within the block?

I want to send STDOUT for a script block to a file which name is defined by a variable within the block. However, when I use tee, it seems the variable outside the block doesn't exist anymore. Without ...
1
vote
2answers
61 views

Why does my .bash_history contain duplicate segments? [duplicate]

Since I keep my bash history under source control, I've noticed that sometimes sizable segments of the history end up repeated, sometimes hours or days after their original execution. I use Debian 7.7 ...
3
votes
1answer
395 views

bash runs out of memory

This question is a fork of this SO question. Here is the MCVE version: $ PS1='Parent-$ ' Parent-$ type seq seq is /usr/bin/seq Parent-$ bash $ PS1='Child-$ ' Child-$ for i in $(seq 1000000000); do ...
0
votes
0answers
31 views

how to remove the last two characters of string [duplicate]

I would like to know the more clearly way for remove the last two characters of a string, without calling external commands, I used something like this. A="GOOD MORNING" echo ${A:0:$((${#A}-2))} GOOD ...
0
votes
1answer
705 views

How do I put a checksum in a script?

I was (am) having trouble installing Eagle on my Linux (debian 8 jessie) computer. I was reading the installer script, when i noticed there is a checksum for the install script in the install script? ...
0
votes
2answers
110 views

Whats wrong with this case statement?

UPDATED: I am trying to do some color changes with my keyboard using apexctl depending on what time it is. But my case statement is giving me trouble. I want to compare the time when the script runs, ...
0
votes
0answers
239 views

Dynamically Source Bash & Profile Files Across Multiple Enviornments

I'd like to come up with a way to always source the user's profile and bash configuration files upon a interactive login or non-interactive login despite what file structure they may have. It would ...
2
votes
2answers
712 views

Separate filename and path inside find command's -exec option

I'm struggling with escaping and expression evaluation. I am trying to run a command inside a find...-exec COMMAND structure, where COMMAND operates on one file and outputs to the stdout. To use ...
1
vote
2answers
872 views

Get files from SFTP server and manipulate in memory

Is there a BASH way that is able to access a SFTP server, "access" a file and without downloading it read it in a buffer, manipulate the content and then store it locally. I know this can be done ...
4
votes
3answers
2k views

How to pass the content of a file as multiple arguments in bash

I have a file that contains data that gets updated over time (mydata). The file looks like this: 1 2 3 With this file, I want to do this (basically handle each number as a separate parameter): ...
60
votes
2answers
9k views

Why does bash think: 016 + 1 = 15?

Can somebody explain to me why a number with a leading 0 gives this funny behaviour? #!/bin/bash NUM=016 SUM=$((NUM + 1)) echo "$NUM + 1 = $SUM" Will print: 016 + 1 = 15
4
votes
4answers
1k views

Flattening folder structure

I have this folder structure: ├── foo1 │   ├── bar1.txt │   └── bar2.txt ├── foo2 │   ├── bar3.txt │   └── bar4 with a space.txt └── foo3 └── qux1 ├── bar5.txt └── bar6.txt that ...
0
votes
1answer
546 views

Adding timestamp into log file via cronjob command [duplicate]

I try to run git pull command with loging output message to file every 5 minutes. But i got error like this, (root) CMD (cd /var/www/sites/ && git pull origin master | sed -e "s/^/$(date +\")...
4
votes
1answer
213 views

bash [[ = ]] behaviour

man bash: [[ expression ]] [...] Expressions are composed of the primaries described below under CONDITIONAL EXPRESSIONS. Word splitting and pathname expansion are not performed on the words ...
7
votes
5answers
2k views

Store 2^500 in a variable in bash

I want to store the value of 2^500 in the variable DELTA. I'm doing export DELTA=$(echo "scale=2; 2^500" | bc) but this does not set DELTA to ...
1
vote
3answers
627 views

Variable expansion in Bash

I tried the following commands variable='one|name' echo $variable The output is one|name whereas echo one|name gives an error No command 'name' found. This is reasonable because bash treats | as ...
0
votes
1answer
111 views

I am accessing remote machine in linux using Bash scripting

I am accessing a remote machine using the ssh command and a pem file. My code is as follows: #!/bin/bash ssh -i rijo.pem ubuntu@90.45.74.51 <<EOF sudo -s var=`cat /opt/revsw-config/varnish/...
6
votes
2answers
2k views

What does `date 2&>$0` do?

I am looking at a co-workers shell code and I saw this: date 2&>$0 I know what date does, but what's 2&>$0 doing? He's out for a while, so I can't ask him what this part was about.
3
votes
2answers
4k views

parse one field from an JSON array into bash array

I have a JSON output that contains a list of objects stored in a variable. (I may not be phrasing that right) [ { "item1": "value1", "item2": "value2", "sub items": [ { "...
1
vote
2answers
89 views

Modifying part of a string in bash script

I have a file named variables.f90 , having many lines defining different variables, as follows :: integer::n_monomer=6800 real*8::rx=5.0d0 #... randomly integer and real numbers defined real*8::...
15
votes
6answers
5k views

Drawing an histogram from a bash command output

I have the following output: 2015/1/7 8 2015/1/8 49 2015/1/9 40 2015/1/10 337 2015/1/11 11 2015/1/12 3 2015/1/13 9 2015/1/14 102 2015/1/15 62 2015/1/16 10 2015/1/17 30 2015/1/...
2
votes
5answers
5k views

Bash rename 360 000 files using find -exec

I've got around 360 000 files like: ./001/1/1.jpg ./001/1/2.jpg ./001/2/1.jpg ./002/1/1.jpg ./003/1/1.jpg ... pattern: [60 dirs]/[1000 subdirs]/[4-10 files].jpg I want to rename files using rename ...
1
vote
1answer
74 views

Killing bash causes it to respawn itself

I'm SSHed into my computer at home and I'm trying to format a drive. lsof /dev/sdb2 shows: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 1366 mitch cwd DIR 8,18 24576 ...
2
votes
1answer
897 views

awk in ssh in su in a command substitution

I am creating a script that will ssh to a host and print all the user accounts and when they will expire. On a host I can run awk -F':' '{ print $1}' /etc/passwd and it will give me a list of all ...
0
votes
1answer
256 views

create a user via script

I want to create a new user in a specific group when I issue the below command. sudo ./create_user.sh "test" "firstname lastname" The create_user.sh script looks as below. #!bin/bash #sudo ...
0
votes
0answers
28 views

Broken mkdir command [duplicate]

I made an alias in my .bash_profile file with the same name as mkdir. It looked like this. alias mkdir='function _blah(){ mkdir "$1"; cd "$1" };_blah' After removing it, i notice that mkdir still ...
0
votes
1answer
219 views

Can't concat file paths, permission denied

I can't realize why if I just try to concat some file paths (without opening the files), I get "permission denied": #!/bin/bash if [ "$#" -eq 1 ]; then path1= "./src/$1" path2= "./...
0
votes
1answer
867 views

Redirecting Standard Output And Standard Error to One File [duplicate]

I have come to understand that we have two methods of redirecting both stdout and stderr to the same file. The first method is: ls -l /bin > ls-output.txt 2>&1 As the author of this book ...
1
vote
0answers
46 views

optimisation of bash globs

Looking for a guide to optimising regexp matches in bash. I have a script that loops over a very long list of URLs looking for patterns. Currently it looks a little like the fragment below. Is there ...
1
vote
3answers
288 views

iterate over file and send lines as positional parameters to another file

I would like to iterate through a file containing dates (named dates.txt) in the following format: 2009 08 03 08 09 2009 08 03 09 10 2009 08 03 10 11 2009 08 03 11 12 2009 08 03 12 13 2009 08 03 13 ...
2
votes
1answer
64 views

Is there a way to copy a rectangular area in a bash or konsole terminal?

Is there a way to copy a rectangular area in a bash or konsole terminal? Is something like this supported on the normal terminal, or will it be only available on terminals run in a GUI environment?
0
votes
3answers
2k views

VLC script on ubuntu server

I need a small script which run three vlc command on the same time (on Ubuntu server 14.04) as stated below: #!/bin/sh cvlc -vvv v1 --sout "#transcode{vcodec=h264,vb=999,acodec=mp3,ab=128,...
0
votes
0answers
302 views

restrict ssh access to /bin and using bash as a shell

I want to restrict my admin user to /bin directory while permitting to use bash as a shell via ssh. This is in my sshd_config file: Match User admin ChrootDirectory /bin X11Forwarding no ...
1
vote
1answer
102 views

How to trim the CWD, shown in the command promt

To know, what is my CWD in console, I added the following to ~/.bash_profile: export PS1='$(pwd)$ ' So, pwd result it shown before the $ symbol. It was very nice. But when I go to a directory with ...
2
votes
2answers
3k views

output both stderr and stdout on console and store them in a file at same time

may I output both stdout and stderr on console screen and store one of them into a log file? I write a test shell script: #!/bin/sh echo OUT! >&1 echo ERR! >&2 I can output both of ...
2
votes
1answer
489 views

How can I list hidden directories, then directories, then hidden files and finally files with ls?

I'm trying to figure out how to list the contents of a directory in the following group order: Hidden directories Non-hidden directories All other hidden files (including regular files, symlinks, ...
2
votes
1answer
211 views

Behaviour of 1>&0 in bash

So I am trying to learn more about file descriptors and their redirections. At the moment I am exploring an edge case of doing 1>&0 and I cannot quite understand what is happening there. $ ...
0
votes
1answer
135 views

Selectively record commands and output from terminal to MySQL table

In some situations I would like to store complete commands and output from terminal sessions in a MySQL database. Ideally I would just copy the command and output from the terminal to my clipboard ...
3
votes
3answers
3k views

Need to insert single quotes in text file for use as SQL query using sed

I have created a line of text that looks like this: INSERT INTO radcheck(id, username, attribute, op, value) VALUES (,,00:23:32:c2:a9:e8,Auth-Type,:=,Accept); I want to use sed to make it look like ...
0
votes
1answer
99 views

How do I write a bash script to report machine states and conditionally ping them? [closed]

#!/usr/bin/bash array1=( HPUX2 HPUX3 ) array2=( `cat $HOME/testo |awk '{print $2}'` ) The file testo,report HPUX2 OFF HPUX3 ON I want my script to report "Machine HPUX2 is OFF" and machine ...