The shell is unix's command-line interface. You can type commands in a shell interactively, or write scripts to automate tasks.
2
votes
2answers
105 views
Testing a string containing only spaces (tabs, or “ ”)?
My code below doesn't work:
stringZ=" "
if [[ "$stringZ" == ^[[:blank:]][[:blank:]]*$ ]];then
echo string is blank
else
echo string is not blank
fi
Result:
string is not blank # wrong
...
5
votes
4answers
330 views
Shell command to get all the files from a complex directory structure
I'm looking for a shell command in order to get all the files in a complex directory structure. By complex directory structure I mean that there's a root folder with more than 150 subfolders and for ...
17
votes
9answers
986 views
Bash commands inside vi
Is it possible to type a bash command inside vi and get the stdout?
I find it often tedious to close and reopen vi just because I want to look something up in the shell.
3
votes
1answer
100 views
How can I remove an element from an array completely?
unset array[0] removes the element but still if I do echo ${array[0]} I get a null value moreover there are other ways of doing this but if an element of an array contains spaces like below
...
3
votes
4answers
103 views
Replacing pattern after nth match is found on each line?
I have a file containing lines:
india;austria;japan;chile
china;US;nigeria;mexico;russia
I want to replace all the occurences of semicolon on each line with e.g. ;NEW;, but starting from the 2nd ...
2
votes
1answer
59 views
What can cause a .sh file to not launch through this type of install?
I am using an Ubuntu 12.10/Gnome3 and was setting up PhpStorm using this tutorial http://devnet.jetbrains.com/thread/439389
The process involved copy/pasting the files into usr/local/PhpStorm-** (with ...
4
votes
1answer
83 views
ZSH: What's the difference between `.` and `source`?
I used to think that the built-ins . and source are equivalent. This question agrees with me when it comes to bash. However I encountered the following using zsh:
desktop➜ ~/pst . env
...
3
votes
1answer
67 views
Different behavior of $() and `` [duplicate]
% PATH="MYPATH"
% VAR="PATH"
% echo $(eval echo \$$VAR)
MYPATH
% echo `eval echo \$$VAR`
5707VAR
^^
This is the process number.
I thought those two were exactly the same, but obviously there are ...
6
votes
4answers
253 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 ...
6
votes
2answers
256 views
Why does --text=“$@” only pass the first word?
When I run the following script with some arguments like arg1 arg2 arg3:
#!/bin/bash
zenity --entry --text="$@"
zenity creates an entry dialog with this text: "arg1" whereas I expect "arg1 arg2 ...
0
votes
3answers
66 views
Safe Directory Delete
I alias rm to rm -i so that when I mistype file* as file * I get prompted before accidentally deleting files I didn't intend to delete. Is there an equivalent idiom for directories?
In particular, ...
4
votes
1answer
151 views
why do background jobs hang depending on the size of the output?
I had some stress-testing scripts that were running in parallel and they would hang after finishing and would wait for a RETURN keystroke to exit. After investigating I discovered that it is not ...
2
votes
4answers
173 views
Using the not equal operator for string comparison
if [ "$PHONE_TYPE" != "NORTEL" ] || [ "$PHONE_TYPE" != "NEC" ] || [ "$PHONE_TYPE" != "CISCO" ]
then
echo "Phone type must be nortel,cisco or nec"
exit
fi
The above code did not work for me, so I ...
2
votes
1answer
472 views
Bash restricted Shell using rbash
I am using /bin/rbash for some users. It's working as expected but there is some hack like when users run bash or dash, then they got unrestricted shells, so to avoid these commands, I have added ...
1
vote
1answer
75 views
How to prevent double escaping?
I'm trying to put a bunch of images together into a pdf. I ran gm convert *.jpg out.pdf and it worked, but the images were not in the right order.
I found that ls -v orders them correctly so then I ...
6
votes
1answer
122 views
Wildcards inside quotes
This will be an easy one, but in my memories, when shell scripting, using double quotes would allow expanding globbing and variables.
But in the following code:
#!/bin/sh
echo *.sh
echo "*.sh"
echo ...
10
votes
4answers
647 views
Is there a JavaScript shell?
Recently I've been working with JS and I'm very enthusiastic about this language. I know that there is node.js for running JS at server side, but is there a shell that uses JS as a scripting language? ...
15
votes
3answers
1k views
How to make bidirectional pipe between two programs?
Everyone knows how to make unidirectional pipe between two programs (bind stdout of first one and stdin of second one): first | second.
But how to make bidirectional pipe, i.e. cross-bind stdin and ...
1
vote
2answers
82 views
Different shells for interactive and non-interactive work
Due to constraints at my workplace, the default shell for every user is tcsh, and I am required to use tcsh as my non-interactive shell (i.e. we do most of the environment configuration across ...
8
votes
4answers
2k views
How to Execute multiple command using nohup
I want to execute multiple command using nohup, And each command should execute after previous command, I used this command for example:
nohup wget $url && wget $url2 > /dev/null ...
0
votes
0answers
48 views
how to parse this data and count the matching patterns? [closed]
Gi1/0/12
Gi1/0/13
Gi1/0/14
Gi1/0/15
Gi1/0/16
Gi1/0/17
Gi1/0/18
Gi1/0/19
Gi1/0/20
Gi1/0/21
Gi1/0/22
Gi1/0/23
Fa2/0/13
Fa2/0/14
Fa2/0/15
Fa2/0/16
Fa2/0/17
Fa2/0/18
Fa2/0/19
Fa2/0/20
Fa2/0/21
Fa2/0/22
...
8
votes
5answers
2k views
Adding numbers from the result of a grep
I run the following command:
grep -o "[0-9] errors" verification_report_3.txt | awk '{print $1}'
and I get the following result:
1
4
0
8
I'd like to add each of the numbers up to a running count ...
2
votes
4answers
4k views
What is a command line alternative to top for finding current CPU utilization that isn't dependent on screen width?
If I run top -p <myPID> -n 1 with a terminal that isn't wide enough, the CPU utilization % is omitted from the output. When trying to find a process' cpu utilization via bash scripting, this is ...
-1
votes
1answer
63 views
Script to search inside non-root and tmp directories
I have a script:
egrep -R -s -c '([^0-9a-zA-Z_-]|^)(5[1-5][0-9]{2}( |-|)([0-9]{4})( |-|)([0-9]{4})( |-|)([0-9]{4}))([^0-9a-zA-Z_-]|$)' $searchpath | egrep '\:[^0]' > $logfilename
It needs to be ...
2
votes
4answers
129 views
bash while loop that breaks at a given file size
So, I bought this book called Primes and Programming, and it's pretty tough going. Today I wrote this (simple) program from chapter 1:
#!/usr/bin/env python
import math
def find_gcd(a,b):
while ...
18
votes
6answers
474 views
Why is aliasing over standard commands not recommended?
For example, a common alias I've seen in the ~/.bashrc file (or equivalents) is
alias rm='rm -i'
However, I've seen people recommend against this because
the alias might not exist on another ...
3
votes
3answers
158 views
Running multiple nohup commands in background
Got two commands cmd1 and cmd2. Of the two, cmd2 takes longer to finish. Need to run cmd2 and then cmd1.
Tried to run them in following way:
bash$ (nohup ./cmd2>result2 &) && nohup ...
8
votes
4answers
240 views
Why does the “which” command give duplicate results?
which -a ruby gives me
/usr/ruby
/usr/ruby
/usr/ruby
It gives the same path three times. Why does this happen?
2
votes
2answers
92 views
How do I use an If-Else query based on the day of the week?
Problem: I need to check if today is Thursday and perform different actions based on the result of this condition. I tried two different approaches:
Getting the Day Name:
DAYOFWEEK=$(date +"%a")
...
6
votes
2answers
149 views
Replacing tmux with exec
I'm using tmux from a while and I'm very happy with it. Since I need it most of the time, I made it my default shell (in guake, to be precise).
This is nice and I'm perfectly fine with this.
But ...
2
votes
2answers
73 views
Use a parameter in a command argument
I run a find command to search files with a name containing perl:
find /tmp -name '*perl*'
/tmp/perl.pl
/tmp/run-perl-stage.pl
But when I set the perl name in a variable PARAMETER and run the find ...
4
votes
2answers
4k views
How to specify characters using hexadecimal codes in `grep`?
I am using following command to grep character set range for hexadecimal code 0900 (instead of अ) to 097F (instead of व). How I can use hexadecimal code in place of अ and व?
bzcat archive.bz2 | grep ...
3
votes
2answers
154 views
How to write file into another
I have an empty file (only zeroes are in it) of size 9,0KB and I need to write another file (with size 1,1KB) to it, but the first file must not lose its size or the rest of its contents. So if the ...
1
vote
3answers
423 views
Get Return value of sub shell script
I have a shell script, where i start a new .sh script.
Now I want to save the return value of the sub script in a variable.
I found this script:
#!/bin/bash
r=1
while [[ r -ne 0 ]]
do
r=`vx $* < ...
3
votes
4answers
181 views
Using GNU Parallel With Split
I'm loading a pretty gigantic file to a postgresql database. To do this I first use split in the file to get smaller files (30Gb each) and then I load each smaller file to the database using GNU ...
1
vote
2answers
773 views
bash shell - ssh remote script capture output and exit code?
I wish to use shell to invoke a script on a remote server.
I would like to capture the output of that script (its logging messages) and the exit code it returns.
If I do this:
ssh user@server ...
0
votes
2answers
159 views
Why screen is not splitting my GNOME terminal?
I am working in a remote Linux box using VNC.I have a single terminal with lots of tabs opened in my system. How can I split them using the screen utility? Does the screen utility work with already ...
5
votes
1answer
33 views
IO and other shell commands when a program is not started by a terminal
I have several launchers on my desktop for various programs, and there is a "run in a terminal" setting for those launchers.
When I check that setting, the program runs from a terminal, and logs its ...
4
votes
2answers
59 views
Check argument before program run
I have noticed that, when I type unzip in bash and press tab, auto-complete works only on files with .zip extension. How is that done? What if I would like to make program that would accept only image ...
2
votes
2answers
119 views
Use of quotes in GNU grep regular expressions
I could see that certain patterns in the GNU Grep can be enclosed within brackets and certain others need not be. For example, matching the beginning of a word works only if it is enclosed within ...
2
votes
1answer
48 views
Find Directory and copy another directory to found directory?
I'm attempting to find a directory A that could be in a variable location and copy another directory B into the found directory. So, I'd like to find directory A, and copy Directory B into Directory ...
48
votes
21answers
4k views
Quick directory navigation in the terminal
I would like to frequently switch between directories that are in totally unrelated paths, for example /Project/Warnest/docs/ and ~/Dropbox/Projects/ds/test/.
But I don't want to type cd ...
3
votes
2answers
137 views
In an interactive shell why would anyone set IFS to something other than the default?
Sometimes when writing script it can be necessary to set IFS(the internal field separator) to something other than the default, e.g. to change the way $* will be expanded.
While this is totally ...
2
votes
3answers
197 views
Backup file with .bak _before_ filename extension
I commonly backup config files on servers without version control like so:
# cp httpd.conf{,.bak}
# ls
httpd.conf httpd.conf.bak
However, for files in the web root I take the time to carefully ...
10
votes
9answers
897 views
“Bookmarks” for bash
Navigating several layers of nested directories is often a pain. On Firefox, it is easy because they have bookmarks. So what I'd like to do to bookmarks a file is to type:
$ go --add classes ...
2
votes
2answers
114 views
Grep for string in first line of all files in directory and descendants [duplicate]
How can I grep for a given string in all files in the current directory, and recursively so, only considering the first line? (the #! line, if present, but only if #! is in the -first- line)?
13
votes
6answers
1k views
Any way to sync directory structure when the files are already on both sides?
I have two drives with the same files, but the directory structure is totally different.
Is there any way to 'move' all the files on the destination side so that they match the structure of the ...
1
vote
2answers
68 views
Best way to call command within a shell function having the same name [duplicate]
I like to encapsulate commands within shell-functions using the same name. But to avoid the shell-function calling itself recursively, I specify the complete path of the command as the following ...
2
votes
1answer
81 views
Set login shell if /etc/shells is missing
On a server which thousands of users loginto the admins seem to have neglected some basics. My default shell is csh I would like to use bash, but chsh errors because /etc/shells does not exist. To ...
2
votes
1answer
53 views
Confused about when to escape metacharacters in pathnames
I'm pretty confused about under which circumstances do I need to escape metacharacters in pathnames. Consider the following example:
I'm in the following working directory:
$ echo $PWD
...



