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)

4
votes
1answer
368 views

xterm doesn't switch directory when it is moved

Recently I was very frustrated with xterm not behaving as expected. This is what I was doing: open xterm run the following commands: $ mkdir test_01 $ cd test_01/ $ echo 'a' > a $ cat a The ...
3
votes
1answer
167 views

How can I dynamically switch the output destination of a script or command?

I ran a shell command the other day which produced more output than expected. It was writing to a file on a filesystem with very little available space and could have filled the filesystem. The ...
4
votes
2answers
2k views

bash myscript.sh runs in bash, but the first line is #!/usr/bin/sh

I have a script similar following one: #!/usr/bin/sh var="ABC" if [ $var == "ABC" ] then echo True else echo False fi Above code does not work in Solaris Sparc and Solaris X64. It is showing ...
63
votes
4answers
114k views

How to suspend and bring a background process to foreground

I have a process originally running in the foreground. I suspended by Ctrl+Z, and then resume its running in the background by bg <jobid>. I wonder how to suspend a process running in the ...
5
votes
1answer
7k views

netcat in shell script giving invalid connection

I have a shell script that uses netcat to listen to localhost on port 1111 for web requests. Every time I try accessing localhost:1111/index.html for example I get: invalid connection to [127.0.0.1] ...
1
vote
1answer
572 views

rename files matching specific mtime value within directory

I use simple set of shell commands to in order to create mysqldumps daily. The script is called by cron daemon. It looks like: presentdate="`date +%d-%m-%Y_%H:%M.%S`" basedir="/var/db_my_backup" ...
1
vote
1answer
631 views

What's the most appropriate way of parsing values from this output?

I have some netstat output I'm scripting and want to parse. What's the most efficient way of parsing values from the output below? It's important to point out that I'm using the old /bin/sh shell ...
7
votes
1answer
186 views

Finding where a process reads in a file

Is there a way to attach to a process and find out, not only which files it is reading from, but what the read locations (byte offsets) of those reads are? I tried using strace for this, but it ...
2
votes
2answers
398 views

I would like to send commands and requests from a client side app to a Linux server

So I am planning/designing an app running on Mac that will send commands and make data requests to a linux server. Some of the things I would need to do will be send file manipulation commands, zip ...
10
votes
2answers
3k views

Are dash, ash and sh script 100% compatible?

I wanted to know whether scripts written for dash, ash, and sh are 100% compatible? Are there any added features to dash or ash, or syntax change? From what I heard, ash is a direct descendant of ...
4
votes
2answers
3k views

When sh is a symlink to bash or dash, bash limits itself to POSIX-compliance, so it should be 100% compatible with sh?

From Difference between bash and sh: ABck to the question: If you have /bin/sh as a link to bash, then bash will not behave the same when called as /bin/sh as it does when called as /bin/bash. ...
8
votes
1answer
444 views

How to find out whether a shell script is written in bash or sh

How can I find out whether a script is written in bash or sh? The first line of the script is not helpful here, since on Linux, bash scripts have this line: #!bin/sh Actually, there are many ...
10
votes
2answers
11k views

Printing decimal to ascii character, my command does not output as intended

I wanted to output a string of all the ascii characters with the following command for i in `seq 32 127`; do printf "%c" $i; done The output of the above command is: ...
1
vote
1answer
3k views

Looping over directory entries in bash and saving to an array

(See update at the foot of the question). This is a followup question to "Make directory copies using find". This question involved manipulating a bunch of directories, This got too complicated to ...
1
vote
3answers
1k views

Display a menu of files names and let the user select a file by entering a number

I have created a script that allows the user to select a file by copying and pasting that file. Then perform a grep on that file. I want to know is it possible to put a number in front of each files ...
1
vote
1answer
2k views

When a command is over half the terminal size it breaks

Whenever I type in a bash command longer than about half the width of the shell window I'm in, the command breaks like it would if I filled the whole screen 3rd command in image - typed a few xs ...
3
votes
2answers
395 views

how to make getopts just read the first character post `-`

I have a shell script testShell.sh which uses getopts as below: #!/bin/bash while getopts ":j:e:" option; do case "$option" in j) MYHOSTNAME=$OPTARG ;; e) SCRIPT_PATH=$OPTARG ;; ...
6
votes
2answers
142 views

How can I substitute into this shell command?

I have a find command that I want to substitute a list of GIDs into. Here's the command: find / -follow \( -group 39 -o -acl_group 39 \) -exec ls -ln {} \; 2> $HOME/error.39.log 1> ...
8
votes
4answers
9k views

cp or rsync, is cp really worth it?

I hope this does not count as a question without a real answer, as I can't seem to find a good reason to use cp(1) over rsync(1) in virtually all circumstances. Should one typically favour rsync over ...
3
votes
6answers
1k views

Make directory copies using find

I have a directory with a bunch of subdirectories in it. Thus /usr/local/src/ccl/ccl-1.8/x86-headers$ ls elf gl gmp gnome2 gtk2 jni libc Each of these directories has a further subdirectory C ...
17
votes
2answers
3k views

How do you output a list of all man pages in a particular section?

A man page for fork, for example, is in the System Calls section that has number 2: man 2 fork How do you see what else is section 2 without resorting to Google?
3
votes
6answers
243 views

Transition to linux [closed]

How does someone with major experience in other OS's make a transition to Linux if one's been using it for a while, on and off for two years. By transition I mean everyday use without booting to ...
2
votes
1answer
469 views

awk function with a number parameter for the column you want to print

I want to use my awk shortcut as a function, so that I can pass the column number which then prints me the output. My aliases are: alias A="| awk '{print \$1}' alias G="| grep -i' Instad of typing: ...
3
votes
1answer
892 views

What's the conf file reading between login and non-login shell?

I found that those are .bash_profile, .bashrc, .bash_login, .profile. What's the reading sequence between them?
2
votes
2answers
1k views

Timeout doesn't occur when reading from fifo using `read`

Look at this code: while read -t 3 line; do echo ${line} done < /opt/data.log data.log is a fifo. One process is writing to this, and this code should be reading it to show to the user. But ...
5
votes
3answers
5k views

Sending the output from 'dd' to awk/sed/grep

I'm trying to approximate the computer's write speed using dd: dd if=/dev/urandom of=/dev/null bs=1K count=10000 which gives the following output 10000+0 records in 10000+0 records out 10240000 ...
2
votes
2answers
1k views

How to convert a group of video files using FFMPEG?

I have several video files in a directory and I want to convert all of them into other video formats. Is there any way that I can convert all of them in just one go using FFMPEG. I mean without having ...
1
vote
2answers
214 views

How do I specify which version of a program to run?

Here's my situation: I have two versions of postgres installed, and with the two versions, come two different psql interactive terminals. One is located at /usr/bin/psql, and starts when I run # ...
0
votes
2answers
221 views

Why does this compound command report errors when copying directories?

if one executes the following two commands in one line, as follows, rm -rf dir ; cp -r dir2 dir it may complain that cp can not create directory dir/subdir: File exists but if these two commands ...
22
votes
8answers
19k views

How can I set my default shell to start up tmux

I would like my default bash shell to go straight into tmux instead of my always having to type tmux every time.
3
votes
6answers
9k views

Difference between “echo $SHELL” and “which bash”

I am trying to determine the location of bash interpreter on my Solaris system and I am a bit confused. When I type: echo $SHELL The resulting path is: /bin/bash And when I type: which bash I ...
17
votes
1answer
10k views

what do you mean by interactive shell?

UNIX: The Complete Reference, Second Edition by Kenneth H. Rosen et al. You can start another shell after you log in by using the name of the shell as a command; for example, to start the ...
2
votes
1answer
1k views

Time validation with regex

I'd like to make validation about time stamp of one of my log file. But it seems I have problem on my expression in case statement. TIME value might be something like 11:49 or 2011. And I just want ...
2
votes
1answer
173 views

How do I create history files with date automatically attached?

E.g. at the end of the session for each day I want to create a history file with the date attached at the end. So, say, history > history07162012.txt or something like that.
21
votes
1answer
2k views

Is there a standard command that always exits with a failure?

I want to test my script with a command that fails. I could use an existing command with bad arguments. I could also write a simple script that immediately exits with a failure. Both of these are easy ...
2
votes
2answers
731 views

How to copy/move/delete files from the shell?

It's surely easy to do while using a graphical environment, but when I'm using the shell I have no idea on how to do that, I already tried to use copy, move, delete, and I discovered that these word ...
14
votes
3answers
7k views

How to set window size and location of an application on screen via command line?

I want Firefox window to be opened in a specific size, and location on screen using a shell command, for example: firefox myfile.html size 800x600 location bottom-left Is there such a command?
1
vote
1answer
982 views

Shell script running two Perl scripts based on input

I am new to shell script. I have two Perl scripts for text processing based on two different input files. I would like to have one shell script that runs based on conditions. If (input file) matches ...
2
votes
2answers
559 views

How come lvextend allocates less than the specified amount of space?

I am trying to extend a volume, let's call it /dev/vol1. I see the initial volume size is 500MB when I call: df --block-size=M /dev/vol1 then to extend it 100MB more I call: lvextend -L+100M ...
24
votes
6answers
6k views

Using VI keys to edit shell commands in UNIX

I used to have a co-worker who was really good at UNIX. He showed me how to use Vi key bindings to edit my shell commands. He placed the command in a file that ran every time I logged in. Since ...
5
votes
3answers
972 views

Get a list of 3 letter commands on Mac OS X

How can I either create or find a list of 3-letter unix commands on Mac OS X? I'd like to create a new program/command for a project. I'd like to make it a 3-letter name, but I don't want to conflict ...
3
votes
2answers
494 views

Bash Process Substitution does not work as 'root' on OS X

OS X 10.6.8, if I use Bash Process Substitution as 'root', it just doesn't work. Is it supposed to be so? Why? Note: here's what I mean... "<(list)" mysql -D robottinosino < <(echo ...
2
votes
1answer
625 views

remote execution via ssh doesn't follow links?

ssh server ls /var/lib/edumate/backup/weekly/*DBB* returns one file /var/lib/edumate/backup/weekly/DBB.0.db2inst1.NODE0000.CATN0000.20120610020013.001 but ssh server ls /data/backup/weekly/*DBB* ...
0
votes
1answer
1k views

Create a fake shell in Linux?

I am not talking about shell programming or making a whole new shell like Bourne or Korn Shell.... I just want a user accessing ftp through port 21 to be directed to this shell which can support some ...
7
votes
4answers
1k views

Iterate over n files?

I've got something fairly simple I want to do. I want to use montage on a directory that contains thousands of images, with very few options, namely: me@home$ montage -size 256x256 DSC01*.JPG.svg ...
35
votes
3answers
13k views

Are there naming conventions for variables in shell scripts?

Most languages have naming conventions for variables, the most common style I see in shell scripts is MY_VARIABLE=foo. Is this the convention or is it only for global variables? What about variables ...
12
votes
3answers
2k views

Can git configuration be set across multiple repositories?

Git seems to support configuration values at three levels: Per-system global settings (stored in /etc/git-core) Per-user global settings (stored in ~/.gitconfig) Per-repository local settings ...
25
votes
5answers
10k views

Make `rm` move to trash

Is there a Linux script / application which, instead of deleting files, moves them to a special “trash” location? I’d like this as a replacement for rm (maybe even aliasing the latter; there are pros ...
7
votes
1answer
3k views

Korn Shell: End, pgup, pgdown, and delete key not working

So basically my End, Pageup/Pagedown, and Delete key are not working in ksh93. I'm running FreeBSD by the way. My arrow keys are working, and so is my home key. Those keys work when I put this in my ...
35
votes
2answers
20k views

What does “3>&1 1>&2 2>&3” do in a script?

I saw this line in a script: DEVICE=`dialog --inputbox "Festplatten-Laufzeit auslesen. Gebe Sie das gewünschte Device an: " 0 70 "" 3>&1 1>&2 2>&3` What is 3>&1 ...