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)

2
votes
1answer
589 views

How to insert a first column to many files + how to convert unix time to normal time

There are many-many files in a directory that has e.x.: the following content: INPUT: root 1324711901 sshd 1272725792 And I'm searching for a solution how to convert the content of the ...
8
votes
5answers
6k views

Run script in a non interactive shell?

I have a cron job that is running a script. When I run the script via an interactive shell (ssh'ed to bash) it works fine. When the script runs by itself via cron it fails. My guess is that it is ...
1
vote
1answer
71 views

Program to upgrade configuration files

When upgrading Ubuntu (and probably other *nixes), the upgrade process will show a diff of changed configuration files and ask whether I'd like to replace them, keep the old version, or manually merge ...
5
votes
2answers
6k views

How to get a clean environment in a ksh shell?

I need to get rid of all the environment variables in a Ksh shell. I can fork a new instance, but it will inevitably source some init files (as far as I know .profile, .kshrc). Is there a way to ...
3
votes
3answers
4k views

What are the significant differences between different shells? [duplicate]

Possible Duplicate: What are the fundamental differences between the mainstream *NIX shells? If I write a shell script in bash, will it run in ksh as well? if not, what are the ...
4
votes
3answers
904 views

What is a subshell (in the context of the documentation of make)?

I'm reading a book about the make command and there is a paragraph: If any of the prerequisites has an associated rule, make attempts to update those first. Next, the target file is considered. ...
12
votes
8answers
8k views

Can shell variable include - character?

I am not able to use - in variables in shell. Is there a way to be able to use it, because I have one script which depends on such named variables: $export a-b=c -bash: export: `a-b=c': not a valid ...
2
votes
3answers
4k views

Bash string replace multiple chars with one

I'm replacing, from a feed title, all chars except letters and digits with a dash to use the result as a safe filename for any filesystem: $ t="Episodie 06: No hope of riding home (NEW) - Advanced ...
5
votes
3answers
618 views

What does the syntax on this shell command with extglob mean?

In Building paths robustly, A solution is proposed that includes: shopt -s extglob; dir="${dir//+(\/)//}" Can someone explain (parse) that for me? I understand what it's doing, but not how the ...
7
votes
3answers
2k views

How to stop a bunch of processes on unix fast?

How to stop a bunch of processes on unix fast. I can use ps/top, kill. If the number of processes is very large, I use shell script. Are there other ways, only one or two unix commands can do it ...
9
votes
1answer
988 views

Why am I getting 'Name collision between …' errors and how can I fix them?

Every time I try to launch vim or emacs or even top (I think it's actually any command that uses ncurses) in a unix terminal (on a cluster computer over ssh), I get a a continuous stream of 'Name ...
5
votes
1answer
3k views

Wrapping a command that includes single and double quotes for another command

I recently learned about watch, but am having trouble making it work with relatively sophisticated commands. For example, I would like to ask watch to run the following command on zsh every three ...
2
votes
1answer
275 views

How to keep a line from being remembered in the history?

This is for a single line, not a command. I found the way to make it always prevent history for a single command. Thanks. EDIT: Sorry for the poor wording. Single line - For example, if I type, git ...
11
votes
3answers
6k views

How to “send” variable to sub-shell?

I run the following script: VAR="Test" sh -c 'echo "Hello $VAR"' But I get : # ./test.sh Hello How can I "send" the variable VAR of my script to the shell created with sh -c?
2
votes
2answers
5k views

How to exclude a list of full directory paths in find command on Solaris

(Duplicated from Stack Overflow: http://stackoverflow.com/questions/7854975/how-to-exclude-a-list-of-full-directory-paths-in-find-command-on-solaris) I have a very specific need to find unowned files ...
1
vote
2answers
1k views

Process list: /bin/sh -e /proc/self/fd/11

I got this: PID TTY STAT TIME COMMAND 2 ? S 0:00 [kthreadd] 3 ? S 0:00 \_ [migration/0] : 844 ? S 0:00 \_ [vmmemctl] 1 ? ...
0
votes
2answers
997 views

Combination of ls, xargs and zcat leads to duplicate file name suffixes?

Disclaimer: Yes, finding files in a script with ls is bad, but find can't sort by modification date. Using ls and xargs with echo everything is fine: $ ls -t1 ssl-access*.gz | xargs -n 1 echo ...
1
vote
2answers
166 views

How to log if an environment variable is unset? [closed]

How can I write a shell script that checks for an environment variable and writes to a log file if the variable is unset? Also, if the file name pointed by env variable doesn't exist, how to create ...
5
votes
3answers
350 views

For a same unix or linux user, different sets of environment variables

I'm using tcsh, and for a specific project every member of my team connects to a server with the same user. (This is something we cannot change). The situation arises because I want to have some ...
2
votes
1answer
2k views

pass 1 environment variable using sudo

Is this a correct way for passing an environment variable in sudo ? sudo -u www-data -b env FOOBAR="foobar" /home/user/folder/daemon
0
votes
2answers
2k views

Run in root shell from within a user bash script

I have a script that , among other things, needs to do some stuff as root, like creating a mount folder. I tried: echo "Linux user password is needed in order to ..." sudo -s # also tried: # sudo su ...
5
votes
4answers
2k views

Where do I change my shell?

If I wanted to use zsh, for instance, rather than bash, where would I make this change for the current user?
9
votes
6answers
10k views

Shell script for moving oldest files?

How do I write a script for moving just the 20 oldest files from one folder to another? Is there a way to grab the oldest files in a folder?
37
votes
2answers
2k views

Why is '.' a hard link in Unix?

I've seen many explanations for why the link count for an empty directory in Unix based OSes is 2 instead of 1. They all say that it's because of the '.' directory, which every directory has pointing ...
2
votes
4answers
933 views

Can I pass files between commands?

I am looking for a way to send the resulting file from one comamnd to another, So I dont have to save a copy on disk inbetween. For example, if I have rared files on disk and want to open them I would ...
27
votes
2answers
1k views

What does a “< <(…)” redirection mean?

I've seen that rvm (ruby version manager) is installed using the following command: bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer ) So as I ...
2
votes
2answers
7k views

extract middle section of lines of a text file?

I am writing a php script to parse a large text file do to database inserts from it. However on my host, the file is too large, and I hit the memory limit for php. The file has about 16,000 lines; I ...
1
vote
1answer
320 views

Check a bash variable against a file

I have a bash variable ($HTTP_COOKIE) which contains a string. I want to check if this string matches the content of a given file (token). I'm working on a busybox linux. How should I do?
3
votes
4answers
2k views

Detach a daemon using sudo?

I noticed that sudo continues to run after executing any of the following lines. Is there any way to detach the daemon completely so sudo does not continue running? sudo -u user daemon & sudo -u ...
16
votes
1answer
575 views

How do ${0##*/} and ${0%/*} work?

I'm quite confused about the following regular expressions I found in a shell script: ${0##*/} ${0%/*} How do they work?
4
votes
2answers
879 views

Replace a substring of filenames in a directory

There exists a directory, which includes several levels of sub-directories. Under these directories, there are a set of files whose names include a common word, e.g, .cc. How can I replace the .cc ...
2
votes
2answers
111 views

how to have find on a directory with a changing pattern?

I have a folder structure like this: /domains/some-domain-1/applications/j2ee-apps /domains/some-domain-2/applications/j2ee-apps /domains/some-domain-3/applications/j2ee-apps What is the best way ...
9
votes
3answers
723 views

Is there a way to execute a native binary from a pipe?

echo 'main(){}' | gcc -xc - -o /dev/stdout | ??? Is there a way to run the output binary on a unix-like system? EDIT: I needed it to run the output of g++ in a sandboxed environment where I can't ...
3
votes
3answers
2k views

Create a temporary file from a stdout redirect or pipe

Some commands only output to stdout. Some tools only work on files. Is there a command that can glue those together? Contrived simple example: diff $(echo 1 | stdout-to-temp-file) $(echo 2 | ...
5
votes
5answers
396 views

Conflict between my prompt definition and cat in zsh

I have a file on a remote filesystem that I know has a short text string in it (a sequence of numbers in a single line). If I open the file on a text editor like nano or Emacs I can see the string. ...
1
vote
3answers
462 views

Evalute passed in variable in bash

Is there a way to pass in a variable as an argument to a bash script and have it evaluated scoped by the bash script? Given: # cat /path/to/file/of/host/names bob tom joe etc... # dofor FILE=$1 ...
7
votes
3answers
1k views

Who is doing the job: ffmpeg or the shell?

First part of my question: I read on the ffmpeg documentation (section 3.2 How do I encode single pictures into movies?) the following: To encode single pictures into movies, run the command: ...
2
votes
2answers
1k views

Difference between > and | with /dev/tty

When I run this command: echo "1" > /dev/tty # runs successfully but when I run this: echo "1" | /dev/tty #permission denied What is the difference between these two operators > and | and ...
2
votes
2answers
842 views

How to execute script on logging out?

I'm reading The Unix Programming Environment. There is an exercise question to print how much CPU time you have consumed when you log off by editing .profile. I tried with this trap 'times' 0 1 2 15 ...
3
votes
2answers
3k views

How to correct a weird bash prompt on a Debian (Squeeze) server?

I have never had to deal much with BASH setup under Debian Linux, but this time, somebody has given me a server that acts weird. When I log on as root, everything works as I am used to: I see a ...
5
votes
4answers
2k views

Last failed command in bash

The $? variable holds the exit status of last run command. Is there a variable that holds last run command itself?
14
votes
3answers
2k views

How to delete part of a path in an interactive shell?

Is there a shortcut in bash and zsh to delete one component of a path? For example, if I type ls ~/local/color/, and the cursor is at the end of line, is there a shortcut to delete the color/ at the ...
1
vote
1answer
529 views

Why does curl fail while using this export?

I'm doing some stuff with Facebooks FQL at the moment, and I'm using curl on the command line to test some of the responses of it. I'm also using export to keep the params seperated for easy editing. ...
6
votes
2answers
2k views

How to send input to a C program using a shell script

I have a C program in which I use scanf to get user input. Now, I would like to make a .sh script that automatically test this program with pre-defined user input, but I'm not sure how I can send the ...
4
votes
3answers
1k views

recursive 'ls' giving absolute filenames

When I do 'ls -R' in a directory, I get something like ./dir1 dir2 file1.txt file2.txt ./dir1/dir2 file3.txt file4.txt but I would like a command that gives me ./dir1/file1.txt ./dir1/file2.txt ...
10
votes
2answers
2k views

Piping for loop output prevents local variable modification

I'm trying to write a simple bash function that takes, as its arguments, a number of files and/or directories. It should: Fully qualify the filenames. Sort them. Remove duplicates. Print all that ...
12
votes
3answers
4k views

Why don't my arrow keys work in sh?

I recently installed Ubuntu and when I run sh on the Terminal my arrow keys don't work so I can't go through my call history or edit whatever I'm typing. It just comes out as weird characters like ...
3
votes
1answer
117 views

Generate time as expression of 1/1000ths of the day

Completely new to bash and having trouble working out how to make the arithmetic work. I think this should be easy, it's just.. argh. I want to express the time of day in terms of 1/1000ths (ie, ...
6
votes
4answers
1k views

Shell programming, avoiding tempfiles

I often write KSH shell scripts that follow the same pattern: (1) retrieve output from one or more command (2) format it using grep|cut|awk|sed and print it to the screen or to a file In order to ...
5
votes
2answers
2k views

/dev/sda2 has gone 49710 days without being checked, check forced

Why the shell show "/dev/sda2 has gone 49710 days without being checked, check forced." at centos start and then reboot? ...... /dev/sda2: Superblock last mount time is in the future. FIXED. ...