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
2answers
325 views

Makefile make install not executing multiple line commands

I have a Makefile that contains an install section to allow me to make install after building the source code. The install section contains two lines of shell commands: install: /usr/local/lib cp ...
3
votes
2answers
111 views

terminal warn on close when opened within a script

First, the question: How can I warn the user that a script is running when the user clicks the close button and the terminal itself (and the process running in it) was started from the command line. ...
5
votes
2answers
14k views

Compress old log file into single zip-linux

I have a folder /home/testuser/log which contain log files of one day old *.log. I wish to compress all the log files older than one day to a single zip(gzip or tar.gz) and delete the older files. I ...
1
vote
3answers
345 views

Variable expansion in Bash

I tried the following commands variable='one|name' echo $variable The output is one|name whereas echo one|name gives an error No command 'name' found. This is reasonable because bash treats | as ...
6
votes
2answers
1k views

What does `date 2&>$0` do?

I am looking at a co-workers shell code and I saw this: date 2&>$0 I know what date does, but what's 2&>$0 doing? He's out for a while, so I can't ask him what this part was about.
33
votes
7answers
6k views

How to determine where an environment variable came from

I have a linux instance that I set up some time ago. When I fire it up and log in as root there are some environment variables that I set up but I can't remember or find where they came from. I've ...
0
votes
0answers
17 views

PBS limiting the number of process on a node

I am trying to run a program on cluster. The program can distribute each of the calculation with an corresponding parameter, say k1, k2,...k4, to run on one core. I want to use 4 nodes with 1 ...
2
votes
2answers
129 views

Filtering a file on a string

I have a file which looks like this a 0 gene1 56 0 6S32M12S * b 256 gene2 56 0 6S32M12S * c 256 gene3 55 0 6S27M17S * d 16 gene4 110 9 19S25M6S * e 272 ...
0
votes
1answer
304 views

Unix Shell script to delete all traces of itself after execution through crontab

My Question has 2 parts. Help with both parts is greatly appreciated. GIVEN INFO: - Lets assume there are 2 Folders, Folder A and Folder B. - Folder A contains many files. - Folder B contains the ...
26
votes
1answer
4k views

When is double-quoting necessary?

The old advice used to be to double-quote any expression involving a $VARIABLE, at least if one wanted it to be interpreted by the shell as one single item, otherwise, any spaces in the content of ...
1
vote
1answer
52 views

How does executing a file change the std input?

Imagine I have a script, which contains the goto command. The goto command will search in the std input for a line like this : jumpHere. But the std input is by default the terminal. It only makes ...
7
votes
2answers
876 views

Was there a '\0' at the end of every script?

I'm wondering how did you dertermine the end of a script/file? I'm especially interested for old Unix versions (like V6). Is there a '\0' after the last written character?
3
votes
1answer
65 views

manual questions

Hey :) I am trying to understand the command goto. I have some questions regarding the goto manual. Here you can find the original manual: http://man.cat-v.org/unix-6th/1/goto 1. Goto is allowed only ...
2
votes
2answers
53 views

Changing variables in a forked process from outside that fork?

In theory with this block, you should only see "running..." once(or less), but in practice, it repeats until it's manually killed. How do I change the value of x inside the forked process to false ...
3
votes
2answers
102 views

How do I drop to a shell after exiting a command I started by scripting tmux?

I'm following this tutorial for scripting the creation of tmux windows. tmux new-window t $SESSION:0 -k -n MAIN 'cd ~/main/ && perl -Ilib myapp' sometimes I kill myapp after I've started ...
1
vote
0answers
33 views

optimisation of bash globs

Looking for a guide to optimising regexp matches in bash. I have a script that loops over a very long list of URLs looking for patterns. Currently it looks a little like the fragment below. Is there ...
2
votes
2answers
873 views

output both stderr and stdout on console and store them in a file at same time

may I output both stdout and stderr on console screen and store one of them into a log file? I write a test shell script: #!/bin/sh echo OUT! >&1 echo ERR! >&2 I can output both of ...
1
vote
3answers
949 views

How could I reach root after switching from bash to zsh?

It's very weird that after switching to zsh from bash, I can't access root. I normally use 'su' to login as root after I login as a normal user (username is normalusername) with less privileges. And ...
0
votes
0answers
12 views

trying to run a windows program with Crossover on my mac

I installed the program through wine and it made a bottle for the windows program. When I try to launch it I get the following error: "The COM library could not be initialized." Please help? What ...
4
votes
3answers
357 views

Using | pipe character from a $variable makes it treat as just another argument in bash; how to escape it?

I have a bash script like this export pipedargument="| sort -n" ls $pipedargument But it gives the error ls: |: No such file or directory ls: sort: No such file or directory It seems to be ...
2
votes
1answer
153 views

Avoid backslash expansion with echo in dash

First create a file with this exact content: a\nb I named this file foo, if I run the following, it prints the exact content of the file: bash -c 'bar=$(cat foo);echo "$bar"' But if you run it ...
-2
votes
3answers
104 views

Why do I get “integer expression required”?

I'm trying to have a small function that I then call. To keep it simple I just want to validate that 12 is divisible by 2,3 and 4 The code is: divisible_by () { under_test=12 from=2 to=4 ...
2
votes
1answer
119 views

Behaviour of 1>&0 in bash

So I am trying to learn more about file descriptors and their redirections. At the moment I am exploring an edge case of doing 1>&0 and I cannot quite understand what is happening there. $ ...
38
votes
2answers
4k views

Why is using && 75 times faster than if…fi and how to make code clearer

I have the following working code: largest_prime=1 for number_under_test in {1..100} do is_prime=true factors='' for ((divider = 2; divider < number_under_test-1; divider++)); do ...
2
votes
4answers
3k views

Wrong root shell in /etc/passwd

I wanted to change the standard shell for my root user to bash but I got the path wrong. i typed /bin/bash instead of /opt/bin/bash. Now my /etc/passwd looks like this: ...
3
votes
2answers
92 views

Test if valid executable

Is there a (relatively) simple way to test if an executable not only exists, but is valid? By valid, I mean that an x86_64 Mach-O (OS X) executable will not run on an ARM Raspberry Pi. However, ...
5
votes
8answers
856 views

Remove last character from an echo variable

This script works great and I modified it to increment by 5. My problem is I do not need the last comma at the end and I'm not sure how to remove this. for ((i=1, j=0; i <= 12 ; i++, j=j+5)) do ...
4
votes
2answers
407 views

Running commands stored in shell variables

The following works in my shell (zsh): > FOO='ls' > $FOO file1 file2 but the following doesn't: > FOO='emacs -nw' > $FOO zsh: command not found: emacs -nw even though invoking emacs ...
0
votes
0answers
193 views

PHP “Output file write error” with shell_exec and stdin (|)

php -a echo shell_exec('djpeg image.jpg | pamfile'); result: Output file write error --- out of disk space? stdin: PPM raw, 500 by 373 maxval 255 (djpeg converts a jpeg to PPM and writes to ...
9
votes
3answers
534 views

How can I list all shell variables?

Reading about this question: In zsh how can I list all the environment variables?, I wondered, how can I list all the shell variables? Also, does the distinction between shell variables and ...
0
votes
1answer
142 views

From Mysql query output to retrieve files in the file system and rename the files

I have to call a SQL query from bash that outputs 1000 rows of two columns File_Path (Eg., /opt/files/dest/2.bin) Name_of_the_file (Eg., fax attachment.pdf, invoice.docx... yes, there are spaces). ...
0
votes
1answer
253 views

How i make this script execute every minute without cron? [duplicate]

I have this: #!/bin/bash wlan=`/sbin/ifconfig wlan0 | grep inet\ addr | wc -l` if [ $wlan -eq 0 ]; then echo wlan0 not connected, connecting... echo sudo ifup wlan0 logger wlan0 reconnected. echo ...
2
votes
2answers
253 views

Feed source command with a pipe

Previously I used source command like this: source file_name But what I'm trying to do is this: echo something | source Which doesn't work.
3
votes
1answer
134 views

GUI terminals(?) reset $SHELL

I've been playing around with the fish shell for a few days and I like it. In order to start fish in a terminal via a quicklauncher or menu, I'm using a script like this:1 #!/bin/sh export ...
2
votes
4answers
444 views

FreeBSD is not Unix. But its Unix-Like Unix. Where is then the main Unix to read the source code?

I want to really understand System V, the main origin of Unix (not Unix-like nor modified Unix to Linux). The main origin which is very confusing and not really with care its written somewhere. Is it ...
1
vote
1answer
90 views

Remotely connect to computer when connection partly fails

I have a Debian computer acting as a server at home. It has a dovecot+postfix mail server, an SSH server, an apache server, and everything you would expect from a do-everything server. At home, it is ...
1
vote
0answers
3k views

“Permission denied” for running an executable file on a linux machine [closed]

I once generated an executable file using g++ on a linux box. But when I try to run this executable file on another linux machine, the system said "Permission denied". However, after I re-compile the ...
4
votes
2answers
792 views

What does '//' mean in return from `which`

I have an executable script test under the full path /home/sawa/foo/bar/test. The directory /home/sawa/foo/bar is within $PATH, and has priority over the default ones including /usr/bin. When I do ...
0
votes
4answers
3k views

Copy a directory to external HDD

I'm trying to copy a directory to external HDD. I mounted the device and then typed : cd root tar -cf - * | (cd /mnt ; tar -xpf -) I got this error message: "cowardly refusing to create an empty ...
1
vote
3answers
260 views

Directory filenames with sed with whitespaces

I'm working on a script and I'm stuck, even with the help of the google. Here's my code: for FOLDER in `find . -type d | sed "s#^.#$(pwd)#" | sed 's/ /\ /g'` do echo "$FOLDER" done This will ...
5
votes
2answers
4k views

How do I delete all files with a given name in all subdirectories?

I want to delete all files with a given name in all the subdirectories of my home directory. I tried: rm -r file in my home directory, but it didn't work because that file doesn't exist in that ...
2
votes
2answers
2k views

I want to suppress “no access to tty” error message?

I have a bash script where I use ssh to connect to another server and run some commands there. I found some sites that the error (Warning: no access to tty (Bad file descriptor). Thus no job control ...
1
vote
3answers
358 views

How to send input in a new terminal using Shell Script

I found out how to automatically send input to a C program using Shell Script. For example, if I compile this C program: //test.c int main() } int x; printf("Please enter an integer:"); ...
1
vote
3answers
652 views

Compare two files and print unmatched lines [duplicate]

I have two files with the below data; I need the difference between two files. I tried with diff but it also shows line which are common in the two files: (22372 Dec 4 15:36 ...
7
votes
11answers
9k views

How do I run the same linux command in more than one tab/shell simultaneously?

Is there any tool/command in Linux that I can use to run a command in more than one tab simultaneously? I want to run the same command: ./myprog argument1 argument2 simultaneously in more than one ...
0
votes
1answer
271 views

linux/shell command to control screen brightness in android

I am working on a kiosk project using an android tablet.If there is no input power to the kiosk for a long time then, the tablet will eventually shutdown.In order to auto-reboot the tab when the power ...
3
votes
4answers
2k views

How to rename files with sed and csv

I'm new with Linux, sed, and awk but I don't mind challenging myself on new ideas. That being said, I understand the purpose and how to use rename and sed for a common event such as adding a $date or ...
0
votes
2answers
162 views

Combining two bash script and using a menu

I have two scripts, one that is used on a folder with csv files and another on a folder with .tar.gz files. In the second script, I first unzip the files before doing anything with them. Now I want to ...
3
votes
1answer
180 views

Copy only file details (file name, size, time) from remote machine in unix

how can we copy only file details (filename, size, time) from a remote machine in Unix? For example: I have a directory (/opt/apache/…/webapps/Context) placed on a remote machine. Now I want to copy ...
3
votes
4answers
505 views

How to “rpm -i” a package only when an older version does not exist?

I wish to install some RPM packages from a shell script. I want to ensure that each package is indeed installed, but I do not want to update a package that would already have an older version ...