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
1answer
498 views

grep entire filesystem blocks on devices

Command grep -rHinF --colour=always -e "aa:aa:aa:aa" / Output grep: /dev/geom.ctl: Operation not supported by device grep: /dev/devctl: Device busy It seems that grep can not proceed because it ...
12
votes
3answers
932 views

How to display the number of lines output by a command in real time?

I'm using svn export as part of a packager script for my application, and it looks like this command, like many others, doesn't have any kind of progress bar. I have two choices at the moment: ...
3
votes
3answers
2k views

How to extract the file size with du

I'm using du to get the file size of the result archive in a packager script: > du -smh archive.zip 51M archive.zip I'd like to assign just the 51M part to a variable, to be able to print: ...
2
votes
1answer
284 views

How to restore from a scrambled screen?

My screen is scrambled while reading some unexpected chars, It happens in a local tty, so logging out won't help. Any ideas? Hopefully I don't have to reboot
2
votes
4answers
2k views

how to convert number to time format in shell script?

I want to cut a video into about 10 minute parts like this. ffmpeg -i video.mp4 -ss 00:00:00 -t 00:10:00 -c copy 01.mp4 ffmpeg -i video.mp4 -ss 00:10:00 -t 00:10:00 -c copy 02.mp4 ffmpeg -i video.mp4 ...
2
votes
1answer
4k views

How to write a shell script restart apache if `server reached MaxClients`

Recently, My blog always shutdown, it use centos6.2+apache2.2+mysql5.5+php5.3. I have raised MaxClients in httpd.conf, but less useful. So is it possible to write a shell script (Run with crontab ...
3
votes
2answers
670 views

BASH and Subshells

From what I gather from the online docs, the following should spawn a subshell for the part of the command embedded with {}: $ bash -c '{ sleep 10; echo "Sleeping process", $$; } & echo $$; ' ...
1
vote
1answer
207 views

What is the use of ; in a single line command?

What does ; mean in single line scripts like this: while true; do sudo -n true; sleep 60; kill -0 '$$' || exit; done 2>/dev/null & Does it mean new line, or "next command"?
4
votes
3answers
825 views

Rename multiple files, sub directories, and insert characters at specific location on OSX

I have files and directories starting with "cateory-icon-" in many sub directories. I am trying to rename them recursively to "category-icons-". Please note that I added missing "g" to the category ...
3
votes
1answer
255 views

Flatten shell script (include sourced scripts) and remove unused functions

I am manually tweaking Debian init scripts in order to optimize the boot time of an embedded device. So far I reduced it by half just with the "low hanging fruits" ie. the smaller scripts that are ...
7
votes
2answers
29k views

lftp: login, put file in remote dir and exit in a single command: proper quoting help

I want to use lftp -c to do an entire session in one go (as I'll be launching this from a script later on) and I managed with -e but that ofc leaves me with the interactive session which I don't want. ...
2
votes
1answer
159 views

Why does backslash get converted to space in echo statement if IFS='\'?

Why is \ is converted to space on setting IFS='\' var="'(]\\{}\$\"" IFS='\' echo $var # '(] {}$"
12
votes
2answers
14k views

Exporting a variable with dot (.) in it

How to export a variable which has dot in it. I get 'invalid variable name' when I tried : export my.home=/tmp/someDir -ksh: my.home=/tmp/someDir: invalid variable name Even escaping metacharacter ...
18
votes
1answer
4k views

gnome-terminal: keep track of directory in new tab

I'm on Arch linux, and when I open a new terminal tab, it always goes to $HOME. How can I make it so that when I open a new tab, it opens the shell in the directory I was in previously?
0
votes
1answer
265 views

What does this command-line do? [closed]

Please explain this in ways that I can understand. I'm very new to this stuff: ps ax >mytemp; more <mytemp … same as … ps ax | more cat mytemp | grep barrymp … same as … ps ax | grep “barrymp”
1
vote
1answer
918 views

How to prevent users from renaming files while providing write permissions on Linux [closed]

For some special purpose, I want to prevent non-root users of the Linux Server from changing or renaming the filenames. However, they can modify and write to the contents of the file. How to do this ...
0
votes
1answer
1k views

LD_LIBRARY_PATH not found - CentOS

I am trying to run the following two commands... LD_LIBRARY_PATH =/opt/oracle/instantclient_12_1 export LD_LIBRARY_PATH But when I run the first command I get an error -bash: ...
2
votes
5answers
3k views

Print nth line before the matched line, Matching line and nth line from the matched line

I want Print nth line before the matched line, Matching line and nth line from the matched line where "n" is greater than 2. Here's an example of my data file (the line numbers below are not part of ...
1
vote
2answers
2k views

Way to write new filename on wildcard input?

I have some experience with Inix terminals from science internships I've been part of, mainly using a few utilities like grep, awk, and sed but there is one thing I've been trying to figure out for a ...
3
votes
3answers
2k views

How to create a short path?

We have so many useful folders, which are in different path, for our working in Linux. For example : $ cd ~/Documents/Courses/EDX/physics2013/ $ cd ~/Documents/Company/OpenGL/Proj/... $ cd ~/...
0
votes
1answer
829 views

List of special characters in the shell [closed]

I am not sure what they are called, but where could I find a list of wild cards? I see things like: $f %s $1 Is there a definitive list for what each one represents?
-3
votes
2answers
17k views

“install: missing destination file operand after `rootterminal'”

When I open root terminal then it simply starts a normal terminal. I cannot access root terminal. When I update my root terminal by the following command sudo apt-get update && install ...
1
vote
1answer
474 views

Is there a simple way of limiting the number of child processes that execute in parallel?

I have a bash script that kicks off multiple rsync processes in parallel. I'd like to limit the number of simultaneous child processes but not serialize the whole script. Here's a simplified version ...
2
votes
2answers
7k views

bash: syntax error near unexpected token `}'

I tried using this: $ if [$a == 1] then { echo 'yes'; } fi; but I get an error: -bash: syntax error near unexpected token `}' What is the correct format? I tried several with no luck.
24
votes
7answers
4k views

How to achieve portability with sed -i (in-place editing)?

I'm writing shell scripts for my server, which is a shared hosting running FreeBSD. I also want to be able to test them locally, on my PC running Linux. Hence, I'm trying to write them in a portable ...
5
votes
1answer
512 views

A program that runs in a shell (e.g. pine) vs. a shell script

Having a bit of trouble finding the answer to my question, perhaps because I may be asking the wrong question. I understand bash scripts. I write them all the time to do little helpful things ...
1
vote
3answers
2k views

cron: bash syntax not working

I am trying to add following command to crontab: I=1; for X in $(/bin/ls -r /var/tmp/*); do [ $((I++)) -le 28 ] && echo "lower" || echo "higher"; done When executed on the command line (in ...
3
votes
2answers
1k views

How to copy multiple files but keep their extensions the same?

I am looping through a number of files, and $file represents the current file. How can I make copies or renames and keep the extension the same for this current file? e.g. if $file = x.jpg How to ...
4
votes
3answers
1k views

Why is brace expansion not supported?

Do I have to do any configuration to start brace expansion? When I run mkdir {1..10}, it just creates a dir naming {1..10}.
4
votes
3answers
7k views

How to add Multiple Searches in AWK command

Im trying to search for the files Created in June,July and August months. I used this method ls -lrth|awk '/[Jun][Jul][Aug]/ {print}' but it ain't working. Please help me correct the syntax.
1
vote
0answers
50 views

What's the difference between `` and $()? [duplicate]

When you want to return a command line output, you may consider using two methods: `cat file` or $(cat file). As far as I know, they are equivalent before my eyes. Is there a difference between both? ...
7
votes
3answers
2k views

which shell will sudo use to execute a shell script without the shebang line

My environment is Ubuntu 12.04 LTS, and the sudo version is 1.8.3p1. First I login as a normal user: $ whoami fin $ cat /etc/passwd | grep -i "root\|fin" root:x:0:0:root:/root:/bin/bash fin:x:1000:...
8
votes
1answer
6k views

Why didn't Ctrl-C work?

I just hit Ctrlc twice at my shell in an attempt to halt a process that is taking a long time to finish. ^C was echoed twice, but the process just kept going. Why didn't Ctrlc quit the process like ...
4
votes
1answer
10k views

Replace exact word with another in shell with tr command

I want to replace a word with another word in a text file. file.txt : alireza fallah my code : cat file.txt | tr ali ALI but I get this : ALI fALLAh it replace all 'a's to 'A' , and 'l's ...
0
votes
2answers
1k views

How to remove n number of lines from a file using sed command? [duplicate]

I want to remove a particular number of lines after the given pattern is matched. Can anyone please tell me how that can be done using the sed command ?
0
votes
2answers
590 views

Commands pasted into terminal are truncated

I have a list of commands I would like to paste into the terminal so that they run one after the other. Initially they run fine, but commands later on are being truncated. Example command: ogr2ogr -...
5
votes
2answers
349 views

Why isn't a semicolon accepted after then?

I'm new to shell programming, and noticed that the following is accepted: if [ $table = "Session" ]; then continue; fi And so is the following: if [ $table = "Session" ]; then continue; fi While ...
6
votes
3answers
119 views

generate links of pages with incrementing variable

consider the links http://unix.stackexchange.com/questions/tagged/linux?page=2&sort=newest&pagesize=15 http://unix.stackexchange.com/questions/tagged/linux?page=3&sort=newest&...
3
votes
3answers
7k views

Scripting `rm` and `rm -i`

I want to create a script that whenever there are more than three files being removed, it invokes rm -i by default. I know it will go in initialization files but can't seem to get it working. So far: ...
9
votes
5answers
19k views

monitoring file changes + process access to files

I would like to see what's happening in my app server folders, which files are changed by process x or which *.war files has been changed (replaced/created) in last x minutes. I am software developer ...
0
votes
2answers
3k views

Shell script - syntax error near unexpected token `['

When I open my terminal I get the following error: bash: /home/ai/.bashrc: line 75: syntax error near unexpected token `[' bash: /home/ai/.bashrc: line 75: `if [ -x /usr/bin/dircolors ]; then' The ...
11
votes
3answers
11k views

Mac OS X: dircolors not found?

I just switched to a Macbook Air. I installed zsh using homebrew, but when I use some of the code that I (originally had) in my .zshrc, I get an error saying that .dircolors was not found. Below is ...
5
votes
1answer
150 views

Replacing stdout with stderr

Is it possible to redirect the output from a command to replace the text sent to stdout with the text from stderr? $ ./script this line is redirected to stdout this line is redirected to stderr $ ./...
11
votes
2answers
401 views

What is the name of the shell feature `>(tee copyError.txt >&2)`?

I need to log stdout and stderr to logfiles, but only show the error messages on screen. I can do this with: cp -rpv a/* b 1> copyLog.txt 2> >(tee copyError.txt >&2) Which I found ...
9
votes
2answers
277 views

How to automatically enter sudo's grace period upon CLI login? [duplicate]

What I would like to do is be able to login and sudo commands immediately without entering a password again. It is very redundant to type my password twice in a row when I need to login and run a ...
1
vote
3answers
37k views

SSH to a host and enter password with shell script [duplicate]

I want to create a file like this : sshTOhost : #!bin/bash ssh -D 1500 user@host #enter password (I don't know how) can any one help me?
2
votes
2answers
1k views

Check recursively if directories in a path exist

I want to check recursively if directories in a given path exist; if they do not, I want to create them. So if I have the path /dir1/dir2/dir3/dir4, if want to check first if dir1/ exists, and if not, ...
7
votes
4answers
16k views

Rename files in the local folder adding a prefix or suffix

I have many files in a folder and I want to add either prefix or a suffix (not both) to them. I checked here and found out I can use for filename in *.jpg; do mv "$filename" "prefix_$filename"; done; ...
2
votes
1answer
207 views

How to compute a thumbnail filename from the shell?

I started noticing some time ago in Xfce4 that when I sent some file to the Trash, tumbler (the Xfce4 thumbnailer) would cause very high I/O load for quite some time. Upon investigating the issue, I ...
41
votes
4answers
2k views

What exactly is an environment variable?

I know that VARIABLE=value creates an environment variable, and export VARIABLE=value makes it available to processes created by the current shell. env shows the current environment variables, but ...