The shell is unix's command-line interface. You can type commands in a shell interactively, or write scripts to automate tasks. Use this tag for questions applying to /bin/sh and most compatible shells (ash, bash, ksh, zsh, …).

learn more… | top users | synonyms (1)

3
votes
2answers
13k views

How to get the char at a given position of a string in shell script?

How to get the char at a given position of a string in shell script?
3
votes
2answers
749 views

How to remove length limit from losetup -a

I am using losetup -a to see my loop devices, but it has a length limit (which is 62 characters). So I can't know for sure which loop device I really want. Ex: [root@r7byach]# losetup -a ...
8
votes
5answers
3k views

`highlight` command

Is there a command which can be used to easily highlight (with colors, bold text or inverted back-/foreground) specific strings in stdin while passing the entire string to stdout? I'm thinking of ...
14
votes
8answers
9k views

How can I print lines from file backwards (without using “tac”)?

I want to print lines from a file backwards without using tac command. Is there any other solution to do such thing with bash?
12
votes
6answers
7k views

What are good online resources for learning shell scripting? [closed]

I am a beginner to shell scripting. I have not yet hardly coded a single program, but I am interested in learning it completely. Can anyone suggest some good online resources which will guide me?
6
votes
2answers
2k views

Print specific Exif image data values with exiv2

How do I print the image Exif date with a tool like exiv2? My goal is to write the image year and month into separate variables. Do I really have to parse the output with regex or is there a ...
4
votes
2answers
1k views

How can I pause in a shell script?

How can I make my shell script pause before continuing?
9
votes
5answers
5k views

Find a file in the path without “which”?

I am (somehow) able to run a script: $ assemble.sh file ... [output] But which can't find it: $ which assemble.sh which: no assemble.sh in ...
0
votes
4answers
2k views

Copy a directory to external HDD

I'm trying to copy a directory to external HDD. I mounted the device and then typed : cd root tar -cf - * | (cd /mnt ; tar -xpf -) I got this error message: "cowardly refusing to create an empty ...
38
votes
6answers
6k views

Is there a one-liner that allows me to create a directory and move into it at the same time?

I find myself repeating a lot of: mkdir longtitleproject cd longtitleproject Is there a way of doing it in one line without repeating the directory name? I'm on bash here.
4
votes
2answers
1k views

How does the shell filename expansion delimit items within a ( * ) list?

I don't understand shell expansion fully yet (hopefully, one day soon I will)... I saw this comment to a superuser question, but I think I'm still parked at the kerb... Using Linux without the ...
36
votes
11answers
17k views

How do I reuse the last output from the command line?

This is a noob question, but I'd like to know how to reuse the last output from the console, ie: pv-3:method Xavier$ python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" ...
3
votes
2answers
387 views

What are the kernel, the “GNU tools and utilities”, the shell and the Window Manager?

Among the many components of a Linux system, I find myself confused (as a newbie) about what exactly is the kernel or what is GNU's part. I understand some basic concepts of this, but where is the ...
8
votes
2answers
8k views

Not able to ssh in to remote machine using shell script in Crontab

Below is the script which i am trying to run, which runs without any issue for i in `seq 200 2100` do usr=(`ssh -t -t -o ConnectTimeout=60 machine$1 finger | tail -1 | awk '{print$1}'`) echo ...
7
votes
1answer
3k views

Why can't I use arrow keys in terminal on Debian 6? (nonroot)

When I am on a non-root user I cannot use ↑/↓ to list my previous commands, and if I am typing I can't use ←/→ to say, add in a directory or to correct the ...
4
votes
3answers
3k views

Best practice to use $? in bash?

When I read this answer about $? another question comes to mind. Is there any best practice for how to use $? in bash? Let's have a example: We have a linear script and I we would like to know ...
5
votes
2answers
214 views

How can I share a shell with my colleague w/o using VNC?

Many a times, I want my colleague to have a look at some code on my system. He will mostly do it at his free time, and will need to login as me. Is there a way I can open a new shell as me, and then ...
17
votes
2answers
2k views

gnu find and masking the {} for some shells - which?

The man page for gnu find states: -exec command ; [...] The string `{}' is replaced by the current file name being processed everywhere it occurs in the arguments to the command, ...
3
votes
4answers
11k views

programmatically creating a remote directory using ssh

Using a shell script, how can I create a directory remotely from serverA -> serverB using ssh? Can I pass the create directory command with the ssh command? How? I'm basically looking to create a ...
27
votes
5answers
21k views

How can I play a sound when script execution is ready?

I am executing every now and then some python scripts which take quite long to execute. I execute them like this: $ time python MyScript.py How can I play a sound as soon as the execution of the ...
4
votes
2answers
365 views

Relaunch application once finished

Is there a command that relaunch the application once it finishes from the command line? Letting you do something like: > relaunch python myapp.py If not, then what's my best option? I know I ...
1
vote
0answers
225 views

Monitor keeps turning off after 10 Minutes [duplicate]

Possible Duplicate: Disable screen blanking on text console Hey I use gentoo as a server, so I usually don't even start X. But whats a bit annoying is that the monitor keeps turning off ...
3
votes
2answers
6k views

Sorting by date

Original: Jan 23 2011 10:42 SOMETHING 2007.12.20.avi Jun 26 2009 SOMETHING 2009.06.25.avi Feb 12 2010 SOMETHING 2010.02.11.avi Jan 29 2011 09:17 SOMETHING 2011.01.27.avi Feb 11 2011 20:06 SOMETHING ...
8
votes
5answers
24k views

Export an env variable to be available at all sub shells, and possible to be modified?

Suppose I have export MY_VAR=0 in ~/.bashrc. I have an opened gnome terminal, and in this terminal, I change $MY_VAR value to 200. So, if I do echo $MY_VAR in this terminal, 200 is shown. Now, ...
7
votes
2answers
827 views

What governs the limits of shell brace expansion?

In this example I refer to the expansion of a sequence of integers, but perhaps(?) the limits would be relevant to all aspects of brace expansion.. This more general view is also of interest to me. ...
9
votes
2answers
2k views

How do you make RPROMPT in zsh update itself on every enter?

My RPROMPT is set to display svn info using vcs_info. It reads RPROMPT=${vcs_info_msg_0_}. vcs_info is called using precmd(). However, RPROMPT doesn't update when I change directories. It works only ...
3
votes
1answer
419 views

Background task finished notification syntax

Last night, before abandoning my computer for the evening, I started a bunch of compiler jobs so they'd be ready in the morning, using make -f alpha.mak &>alpha.out &. When I came back and ...
6
votes
2answers
3k views

Escaping quotes in zsh alias

Following on from this question about stripping newlines out of text, I want to turn this into a zsh alias as follows: alias striplines=' awk " /^$/ {print \"\n\"; } /./ {printf( \" %s \",$0);}"' ...
7
votes
1answer
956 views

Why root's default shell is configured differently with other normal user account's default shell?

As I know, root's default shell is configured csh and normal user's default shell is sh in FreeBSD. And in Ubuntu, root is dash, normal user is bash. (refer: What's the Ubuntu's default shell?) Why ...
4
votes
3answers
8k views

Simple Shell Script with Arithmetic issue… ** is giving me trouble

When I run this script I get this error: ./myscript.sh: 16: arithmetic expression: expecting primary: "1 ** 1" When I run this shell script with bash, as in #! /bin/bash on the first line, the ...
3
votes
2answers
3k views

su vs su - (on Debian): why is PATH the same?

I know what should be the difference between su and su -, but in my system (debian testing) for example PATH is the same: [root]# su [root]# echo $PATH ...
5
votes
4answers
6k views

Can IFS (Internal Field Separator) function as a single seperator for multiple consecutive delim chars?

Parsing an array using IFS with non-whites space values creates empty elements. Even using tr -s to shrink multiple delims to a single delim isn't enough. An example may explain the issue more ...
6
votes
2answers
4k views

Write to a file without redirection?

I am writing a regular compiled application that needs to create a special file and write a magic cookie into it. I can’t write the file directly from the application, the system security model ...
2
votes
3answers
725 views

su and aliases confusion

I create an alias as my current user in the bash shell, which I can see using the alias command. When I switch user without the -, i.e. su testuser, the alias is not carried into the new user's ...
8
votes
2answers
939 views

How can I use $var in a shell brace expansion of a sequence?

I want to use $var in a shell brace expansion with a range, in bash. Simply putting {$var1..$var2} doesn't work, so I went "lateral"... The following works, but it's a bit kludgey. # remove the ...
5
votes
2answers
1k views

How does bash interpret the equal operator with no surrounding spaces in a conditional?

The following script does not behave as I would have expected. Adding spaces around the '=' in the conditional made it perform how I wanted, but it got me thinking, what is it actually doing inside ...
2
votes
1answer
1k views

Download and install latest deb package from github via terminal

I would like to download and install the latest .deb-package from github (https://github.com/elbersb/otr-verwaltung/downloads to be exact). How can I download the latest package (e.g. ...
9
votes
3answers
13k views

Does bash support forking similar to C's fork()?

I have a script that I would like to fork at one point so two copies of the same script are running. For example, I would like the following bash script to exist: echo $$ do_fork() echo $$ If this ...
4
votes
1answer
499 views

Difference between ' and " on command line (bash)?

I used to use '' and "" interchangeably on the command line, but I recently noticed that '$HOME/some/dir' is not expanded, while "$HOME/some/dir" is. I searched around a little bit and found that "" ...
30
votes
7answers
45k views

Execute a command once per line of piped input?

I want to run a java command once for every match of ls | grep pattern -. In this case, I think I could do find pattern -exec java MyProg '{}' \; but I'm curious about the general case - is there an ...
3
votes
3answers
2k views

untar a directory of *.tgz files using a wildcard

I've got a directory that looks like $ ls Broad_hapmap3_r2_Affy6_cels_excluded.tgz DINGO.tgz GIGAS.tgz index.html IONIC.tgz passing_cels_sample_map.txt ...
105
votes
6answers
126k views

How to split the terminal into more than one “view”?

From vi, if you issue the command :sp, the screen splits into two "views", allowing you to edit more than one file from the same terminal. Along those same lines, is there a way to have multiple ...
5
votes
2answers
2k views

Shell script execution on multiple servers

Is it possible to run one part of the ksh/sh script on one server then ssh to another server and continue with the rest of the script? or is there a way around? Anyone had experience with this ? here ...
3
votes
4answers
712 views

shell scripts that respond to console output

Disclaimer:: I am not an active shell scripter How does one create a script that responds to console output? For instance, I'm trying to setup a cron that periodically svnsync 's changes to my ...
3
votes
1answer
21k views

Adding Sleep command to shell script?

How can I add a 10sec sleep to my loop after each page is processed? #!/bin/sh for page in {1..50} do wget -q -U Mozilla "http://admin.domain.com/products_search/?p=$page" -O - \ | tr '"' ...
23
votes
1answer
35k views

How to loop over the lines of a file?

Say I have this file: hello world hello world This program #!/bin/bash for i in $(cat $1); do echo "tester: $i" done outputs tester: hello tester: world tester: hello tester: world I'd ...
4
votes
3answers
8k views

How can i check that a remote computer is online for ssh / script acess?

i'm writting a script that will backup data from my laptop to an ubuntu server. to do so, i'm looking for a (ba)sh command to test if the server is available before starting the backup. something like ...
3
votes
3answers
10k views

executing a sh script from the cron

I have a test.sh script #!/bin/sh php /home/v/file.php sh /root/x/some.sh when I execute the file as root from command line it works. sh /home/v/test.sh when I set it to crontab -e (is the root ...
6
votes
6answers
2k views

How to clean up file extensions?

I have a directories with .MP3 files which I'd like to change the extensions to .mp3. What's the easiest way to do this? I'm think something along the lines of: find /RootPath -type f -iname "*.mp3" ...
4
votes
2answers
1k views

using brace expansion to change filenames, not extensions?

I have a directory containing a bunch of files with different extensions, but the filename before the extension is all the same. E.g., file1.txt, file1.jpg, file1.pdf, file1.odt... I want to change ...