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)

1
vote
1answer
53 views

check if genisoimage is succesful

I use a script to convert all VIDEO_TS directories to .ISO. How can I check if genisoimage is actually converting it instead of it failling and converting the next folder? After conversion I have a ...
24
votes
2answers
1k views

What does “${-#*i}” != “$-” mean?

In /etc/profile I see this: for i in /etc/profile.d/*.sh ; do if [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then . "$i" else . "$i" >/dev/null 2>&1 ...
1
vote
2answers
88 views

Renaming a whole folder content

I'm on OSX 10.9.2 (BASH 3.5) and I wanted to rename a whole folder content names. So I run a script and somehow ended with this: s01eDavid.Letterman.2014.02.27.Stupid.Human.Tricks.x264-SWOLLED.mp4 ...
0
votes
4answers
200 views

What's the difference between $@ and $* [duplicate]

According to this page, $@ and $* do pretty much the same thing: The $@ holds list of all arguments passed to the script. The $* holds list of all arguments passed to the script. After searching ...
3
votes
1answer
477 views

Prevent hanging of “echo STRING > fifo” when nothing is reading that FIFO

When I echo something to a named pipe made with mkfifo, it hangs if no process is reading from that pipe. How can I prevent that, i.e., stop that from hanging? And by the way, why is that hanging ...
1
vote
2answers
128 views

How to properly launch a program and make possible to redirect its running output (stdout and stderr) at a later stage?

The problem is quite simple: I find useful to have the possibility to switch on (and off) the output of some running program in each moment I need. To be more precise I want to be free to redirect ...
1
vote
3answers
156 views

Why doesn't my command work when aliased?

I use ps -ef | grep catalina | grep -v grep to print the tomcat process running on the system: kshitiz 7099 1 0 May11 ? 00:02:29 /usr/lib/jvm/jdk1.8.0/bin/java ...
80
votes
8answers
11k views

Why *not* parse `ls`?

I consistently see answers quoting this link stating definitively "Don't parse ls!" This bothers me for a couple of reasons: It seems the information in that link has been accepted wholesale with ...
6
votes
4answers
3k views

Why doesn't grep using pipe work here?

I have the following command: find / -name libGL.so.1 Which returns lots of lines with "Permission denied". I want to exclude such lines, so I added the following: find / -name libGL.so.1 | grep ...
0
votes
1answer
41 views

Is there a way to make git commit have -v as a default?

I have git () { [ $1 = commit ] && command git commit -v "${@:2}" || command git "$@"; } It makes git commit have -v as a default, otherwise pass on the params and do whatever the git ...
0
votes
1answer
49 views

Set alias which doesn't send specified text? [closed]

EDIT I set a alias task in ~/.bashrc. The following: alias join="clear; screen -ls; screen -rx [<ID_OF_THE_RUNNING_SCREEN> quit]" If i the task join is executed, the following has to ...
1
vote
2answers
119 views

Why we can not see a single hyphen from $0 on a login shell invoked with `--login` option?

man bash says, A login shell is one whose first character of argument zero is a -, or one started with the --login option. When we invoke a terminal such as mintty - on Cygwin, we can see a ...
1
vote
3answers
70 views

File comparing and appending based on fields

I want to compare 2 files, locus_file.txt is a very large file and atrr.txt is a small file. I want to match the first 2 columns of the first file to the second column of atrr.txt and print the ...
5
votes
2answers
537 views

Why doesn't my loop over the output of ls work?

I am trying to feed Directory names into a for loop. My code is as follows: td='/Test/TopDir/' cd "$td" for x in $(ls -d */ | cut -f1 -d'/'); do echo x=$x done The top directory I run this on ...
0
votes
1answer
618 views

Escaping multiple backticks in a sed call

I need to perform search and replacement iteratively in several SQL statements: From: CREATE TABLE `Old_Name` ( To: ALTER TABLE `Old_Name` RENAME TO `New_Name` The above query contains ...
1
vote
2answers
757 views

“emacs: standard input is not a tty” when starting Emacs at login

I have Fedora 20 and Gnome3 classic, and I am trying to use the CTRL/ALT/Fn terminal windows. When I want to edit a file with emacs I use the following script so that my Hints file is automatically ...
1
vote
1answer
46 views

Tile logfile into pieces and search for errors

I want to tile a logfile into pieces and then search in this pieces for errors. If there is an error, I want to put the relevant logfile-piece into another file. Little example: Logfile looks like ...
1
vote
1answer
88 views

How to export string about France to Microsoft excel file?

One string file Str.rc about French language is here: ID_STR_BRIGHTNESS;,"Luminosité" ID_STR_CHILE_EASTER_ISLAND;,"Île de Pâques" ID_STR_CURRENT_CH;,"Saisie chaîne" ID_STR_DETAILS;,"Détails" ...... ...
0
votes
4answers
818 views

Why does this shell script fail in bash, but the commands work in SSH?

I'll first admit to being quite the noob in Linux/SSH/etc. What I'm trying to write is a shell script that will back up a website and all the MySQL DBs that support it. I found examples all over the ...
7
votes
2answers
9k views

Solving “mv: Argument list too long”?

I have a folder with more than a million files that needs sorting, but I cant really do anything because mv outputs this message all the time -bash: /bin/mv: Argument list too long I'm using this ...
4
votes
2answers
154 views

Running several times the same command with several aguments after a pipe

I have a key (of random binary data) that gets generated by get_key. And with this key, I can do several things with my encrypted files. For example, I can decrypt them. get_key | tee >(decrypt ...
1
vote
3answers
6k views

How can I run a “grep | grep” command as a string in a bash function?

I'm trying to build a command that pipes the results of one grep command to another grep command in a bash function. Ultimately, I want the command executed to look like this: grep -I -r FooBar ...
2
votes
1answer
233 views

Remove multiple possible suffixes

Example: I want to create a quick command to shrink images (for my filebrowser). ... FN="/tmp/some-image.jpg" gm convert "$FN" -resize 50% "$(dirname $FN)/$(basename $FN .jpg/png/gif).jpg" ... How ...
2
votes
3answers
124 views

Make grep work for special filenames

I have a set of txt files whose names may contain space or special characters like #. I have a grep solution grep -L "cannot have" $(grep -l "must have" *.txt) to list all the files who have must ...
1
vote
3answers
2k views

Find files containing one string but not the other

I am in a folder with lots of .txt file, I would like to find all the files which contain stringA, but don't contain stringB (they are not necessarily in the same line). Does anyone know how to do ...
0
votes
1answer
112 views

How use `rsync -R` with multiple subdirs or install -D with multiple files?

Is possible with rsync to copy multiple files from a source directory to a dest directory with multiple subdirectories that don't exist? Or use install -D with multiples files to a directory that ...
11
votes
8answers
1k views

How do I get the character count of words in a particular column?

I have a CSV file like this: abd,123,egypt,78 cde,456,england,45 How can I get the character count of only the 3rd column words? I can't figure out how to get wc to do this.
0
votes
2answers
155 views

Method to paste specific column when in terminal

I'd like to paste only the third column of data from within the terminal. I originally have something like: 4 SF0086 SF0086 12 SF0087 SF0087 17 TSF141 TSF141 29 TSF070 TSF070 30 TSF028 TSF028 31 ...
4
votes
0answers
185 views

Copy a file to a directory that doesn't exist with only one command (Linux) [duplicate]

Is it possible to copy a file to a dir that doesn't exist such that it creates the directory, using only one command? Without using && and more than one command. Edit: It is not duplicate, in ...
0
votes
0answers
21 views

finding specific path for an installed program [duplicate]

I installed matlab on the computer, and it was a bit of a hassle and we got through a lot of trial and error to get it working. But finally it got up and running. Recently, however, it's been ...
0
votes
1answer
140 views

Why $PATH variable different between two directories?

When I'm in one directory and echo path pwd /Users/me/src/some_proj echo $PATH /Users/me/.gem/ruby/2.0.0/bin:/opt/boxen/chruby/versions/2.0.0- ...
-1
votes
1answer
75 views

Unix Awk group by

Can anyone shed me light how to group by based on the username and sum the values divide it by number of rows of that specific username. for example below. root 25 oracle 25 batch 30 griduser 20 ...
2
votes
2answers
360 views

Variable value is not recognized after using gnu parallel?

I have a below shell script from which I am trying to copy 5 files in parallel. I am running my below shell script on machineA which tries to copy the file from machineB and machineC. If the file is ...
2
votes
2answers
315 views

Select default binary to use

This is the output from which -a autoconf: /usr/bin/autoconf /usr/bin/autoconf /home/amumu/root/bin/autoconf I want to use autoconf in my home directory since it's newer version compare to the ...
0
votes
1answer
44 views

Expansion of *,#,% - What do they mean? [duplicate]

for j in * .* ; do cp $j ../$name-S$i.gid/${j%%. * }$i.${j#*.} done Could someone tell me what this for loop does? What do *, % and # mean? ($name is a path of a directory in which there are ...
5
votes
3answers
520 views

vi: move a line by 4 bytes

I want to move a line by 4 bytes using vi editor. What command should I use? I tried ">>" and it does move but it moves by 8 bytes..
2
votes
3answers
124 views

How to split the array in set of five files and download them in parallel?

I am trying to copy files from testMachineB and testMachineC into testMachineA as I am running my shell script on testMachineA. If the file is not there in testMachineB, then it should be there in ...
1
vote
1answer
541 views

What does “if [ -e $name ]” mean? Where $name is a path to a directory

In the if [ -e $name ], what condition check is -e? $name is a variable of a path to a directory.
0
votes
1answer
153 views

apply bash function to parent scope

I can to define function in bash and use it: foo() { echo $1; } foo test But if I want to collect my functions in one bash script all its unavailable: init.bash #!/bin/bash foo() { echo $1; } ...
3
votes
1answer
2k views

Why is the default shell in Debian 7 bash?

As per documentation, dash should be the default shell in Debian Wheezy, however when I open up a terminal and check the SHELL variable, it points to /bin/bash. Since this is a fresh install, and I ...
3
votes
1answer
268 views

Performance differences between pipelines and process substitution

I tend to use pipelines in my bash scripts over process substitution in most situations, especially in cases of using multiple sets of commands as it seems more readable to do ... | ... | ... over ... ...
3
votes
1answer
211 views

Generating/validating checksums in a single line?

When I generate checksums for my files, I have to do a bit of extra work to get them formatted properly: CHECKSUM="$(shasum "$file" | cut -b 1-40)" echo -n "$CHECKSUM" > "$file.sha" This is to ...
14
votes
1answer
465 views

Percent in $PATH environment variable

My $PATH looks like this: ...
20
votes
5answers
2k views

why is setting a variable before a command legal in bash?

I've just encountered several answers such as to parsing a delimited text file... that use the construct: while IFS=, read xx yy zz;do echo $xx $yy $zz done < input_file where the IFS ...
18
votes
4answers
963 views

Path independent shebangs

I have a script that I want to be able to run in two machines. These two machines get copies of the script from the same git repository. The script needs to run with the right interpreter (e.g. zsh). ...
1
vote
2answers
236 views

Running a cron job from another shell

I would like cron to run a script from a specific shell (Zsh). I thought the following would work: 00 02 * * * exec zsh; /path/to/script.sh but apparently it doesn't, why? This also made me ...
5
votes
1answer
1k views

How to disable “auto cd” in zsh with oh-my-zsh

Googling this didn't show up any results. Here's what I mean: I have a binary file named x in my path (not the current folder, but it is in the PATH), and also a folder with the same name in the ...
4
votes
2answers
3k views

Bash's conditional operator and assignment

Can we use bash's conditional operator with assignment operators after colon? Bash reference manual explains the arithmetic operators as follows. conditional operator expr ? expr : expr assignment ...
4
votes
0answers
87 views

Tracking my shell path in Emacs

Not a long time ago, I found the following precious snippet that allows Emacs to track my current directory on any ansi-term buffer. More specifically, if I cd <some/path> from within a ...
3
votes
1answer
403 views

Passing substring parameters to awk

I need to split a file and rename it accordingly using awk command. I'm trying to use the substring command and pass a parameter to awk command but it fails. for file in *.csv do split -n 3 -d -a 2 ...