Questions about bash only, as opposed to other Bourne/POSIX shells. For all Bourne/POSIX-style shells, use the /shell tag instead.

learn more… | top users | synonyms

0
votes
1answer
59 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 ...
2
votes
3answers
167 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 ...
2
votes
3answers
1k views

How can I get my PS1 prompt to show time, user, host, directories and git branch

I've seen others add all this information to their PS1 prompt. I like the approaches that colorize the elements and also do a carriage return at the end
2
votes
2answers
91 views

Converting an if-else statement into a switch statement [closed]

I'm having trouble turning this program from an if-else statement into a switch statement. Any help would be appreciated. #!/bin/bash for x in $@ do array[$i]=$x i=$((i+1)) done # initial state ...
1
vote
1answer
38 views

Forwardticks in example command in `man emerge`: local misconfiguration or typo?

In Manpage of EMERGE it is stated: To find files that need to be updated in /etc, type find /etc -iname ´._cfg????_´* Taking a closer look at it (copy-pasted from terminal -- not from the online ...
2
votes
1answer
367 views

No password prompt when using rsync remotely?

I have a bash script that executes rsync transfers to a remote location, and every time I execute the script I get asked for a password. Is there a way to avoid this? This is the command I use: ...
0
votes
1answer
301 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
2answers
2k views

Automating backups run from a bash script in Linux the right way

I have a bash script I wrote to backup a Moodle installation. It works fine, I've tested the backups, but there's a problem with it; when I do the backups, since I have to use sudo to type the ...
0
votes
1answer
495 views

Trying to pass user generated variable to an external command

I have a bash script that is asking a user for input, then passes that variable to a find command. I've tried quoting/escaping the variable every way I know, but it keeps failing. read -p "Please ...
1
vote
2answers
92 views

remove files after insertion into tarball

I want to limit the number of files that get put into a tar ball and erease them after they've been inserted into the tarball and being indipendent from the current directory. I've tried this: tar -C ...
5
votes
1answer
549 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 ... ...
2
votes
2answers
869 views

bash value of $LINE is not showing when defined like val=`$LINE`

I have the following bash script for some reason $LINE value is not coming on val=. I can see the line from file is read can be display by each $LINE but when defined in the val.. is not showing. ...
5
votes
2answers
2k views

Copying one file to multiple directories

I have a file that I want to copy to another 60 directories. The best way I can think of doing this is by making a bash script that has instructions to every folder like this: cp script.sh ...
1
vote
2answers
328 views

How to fix 'set -o emacs' in .bashrc not working in ssh shell

I work in an LDAP-based user and host network. My user exists on all hosts since it an LDAP user, and my user's home directory exists on all hosts as a mountpoint. I have ~/.bash_profile set up to ...
3
votes
1answer
6k views

Why does the filename contain question marks when I run a script on my remote machine?

I have a tiny script that simply fetches the current date, runs a PHP script and redirect the output (and errors) to a filename containing the current date. DATE=$(date +"%Y%m%d") ...
3
votes
1answer
466 views

Why does the history command do nothing in a script file?

If I create a file containing #!/bin/bash history and run it, I get no output. Running it manually in a terminal or sourceing the script file does produce output. Why does history not work from ...
24
votes
1answer
856 views

How do I redirect command completion output?

On the command line, I can redirect or pipe output of a command to a file or another command using the > or | operator after the command. I have come across a less standard situation that I would ...
3
votes
1answer
162 views

Screwed up my bash prompt, what happened?

I just thought I might get version information about the current bash by entering bash -v That brought many lines of code to stdout and left me with a line that appears right above my usual promt ...
3
votes
1answer
158 views

Write a shell script that takes in a variable from the terminal? (~$ command variable)

I am writing a shell script that takes in a time (in minutes) and opens an online egg timer set for that amount. #!/bin/bash #Opens http://e.ggtimer.com/TIMEmin where TIME = number of minutes TIME=5 ...
4
votes
1answer
71 views

Tab-completion within for loops not working

I'm either going crazy or about to ask a stupidly basic question. I appreciate your patience either way. Tab completion for executable command is not working within interactive for loops in bash. I ...
3
votes
1answer
417 views

Pipe hex characters to awk

This command works as expected $ awk 'BEGIN {print "\x41"}' A As does this $ printf '\x41' | awk '{print}' A However when you rely on awk to recognize the hex characters, it fails $ echo '\x41' ...
1
vote
2answers
1k views

How to move or copy list of files referenced in a csv file to a new folder

I'd like to write a shell script (OSX) which copies files listed in a csv file to a particular directory. I need to strip quotes from each line in the csv file. My attempt for i in $(cat myfile.csv) ...
2
votes
1answer
41 views

Script. How to sort and move catalogs

I have some trouble writing a script. I don't know how to sort and move catalogs. #!/bin/bash while read -r line; do mkdir "sd/$line" done < 1a.txt After reading information from 1a.txt ...
0
votes
3answers
37 views

bash_profile stops after file call

I have the following code in my .bash_profile that automates a couple of file write tasks I need to run. # Compile cron jobs for server do_cron() { cd ~/Sites/MAMP/mywebsite/.ebextensions && ...
0
votes
0answers
297 views

Editing metadata with bash

I have a bunch of photos(jpeg, bmp, png) that I have arranged in such a manner that the metadata is in html form in a separate file. I would like create some script to read this html file and edit ...
14
votes
3answers
8k views

Bash subshell creation with curly braces

According to this, placing a list of commands between curly braces causes the list to be executed in the current shell context. No subshell is created. Using ps to see this in action This is the ...
1
vote
1answer
792 views

Is it possible to change the key binding for completion in bash shell?

For bash, I would to modify the tab key for completion to the escape key. I know that key bindings are defined in /etc/inputrc. But I don't know if something like this could work: `"\e" : ...
11
votes
2answers
468 views

How to define a symbolic link that I can use in all of my directories

Is it possible to write a symbolic link such that no matter where am I on the file system, I can use for example project to point the directory home/me/project? I would like to use commands like cd ...
0
votes
3answers
344 views

bash color echo : problem with '-n' option

here is my function to print color text: cecho() { color=${1:-""} # defaults to original color if no color specified colorreset="\E[0m" # back to black after function return while read ...
0
votes
2answers
1k views

Stopping .bashrc without exiting shell

My .bashrc file is modularized and I've got some error checking in it. In bash scripts, I typically have a function _errexit (or something similar) that I call when I detect an error and want to exit. ...
1
vote
2answers
181 views

bash function to handle file through symlink : problem with command line arguments

I wrote a little code that will copy files given either their name or symlinks to a given directory. linkcp() { cp `echo "$(realpath $1)"` "$2" } here is the file list: $ ls -l drwxr-xr-x 2 user1 ...
7
votes
2answers
15k views

Bash command in string is executing when I create the string, not when I use it later

I'm relatively new to shell scripting, but have nearly completed a script which makes use of the lftp program. The part of the script I am having trouble with is when I create a long string of ...
4
votes
6answers
4k views

Remove last comma from a bash for loop generated string

I am dealing with a situation where I need to create a comma separated list from an array into a heredoc and remove the last comma. I am using bash for piped into sed which is erasing all commas ...
5
votes
3answers
206 views

How to grab the oldest unread message from `mail` in a script?

In a script I am trying to finish writing now, I need to get the oldest unread message from the current user's mailbox (specifically, I need the subject line for this project). After extracting the ...
30
votes
5answers
6k 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 ...
76
votes
2answers
6k views

Have backticks (i.e. `cmd`) in *sh shells been deprecated?

I've seen this comment many times on Unix & Linux as well as on other sites that use the phrasing "backticks have been deprecated", with respect to shells such as Bash & Zsh. Is this ...
3
votes
2answers
388 views

Allow a user to run a single command as root over ssh

I have a user account that is not designed for logging in interactively, but want to allow it to run a single command (as root). Is there a better way to accomplish this (without granting more rights ...
1
vote
2answers
153 views

Default function arguments (manually emitting bash psuedo-signals)

I'm looking for a solution that will automatically allow me to call a function with specific parameters in a certain situation. Here is the specific scenario: When an error occurs, I can set up my ...
1
vote
2answers
416 views

Remove just one word before pattern match in shell script

Input: int foo(int a, void * b, int c); Output: int foo(int, void *, int); Want to use "," as pattern to match. If "," pattern is matched then remove the previous word i.e. a, b & c.
4
votes
2answers
5k 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
3answers
714 views

Multiline variable with spaces, adding each line to an array

I have a problem I can't seem to figure out.. I'm making a script I will run in OSX to help me stay connected to open wifi hotspots. I am reading all surrounding wifi networks into a muntiline ...
5
votes
2answers
629 views

ls command: how to ignore case without globbing

I use the shopt -s nocaseglob command to ignore case, but it seems like it doesn't work if I use a string without glob. Just a question out of curiosity, is it possible to ignore case without ...
1
vote
1answer
1k views

line 7: [: echo: integer expression expected

This is my first script for Shell/Bash and I'm struggling with the syntax. The first command line argument is a string while the second is number. x='echo $1|wc -m' count=0 while [ $count -le ...
4
votes
2answers
2k views

Unable to get the right exit code from a script

I have a script which connects to a remote server via SFTP and get some file from there. My script goes like this: /usr/bin/sftp USER@remote.server.com <<EOF lcd /dir1/dir2/dir3 cd ...
0
votes
1answer
2k views

where does history timestamp stored before i enable it

I tried to set timestamp for history. My first attempt was do export EXTENDED_HISTORY=ON command, and it seems like doesn't work. Then i do echo 'export HISTTIMEFORMAT="%d.%m.%y %T "' >> ...
0
votes
2answers
3k views

Bash script to remove user

I need to create a Bash script to remove a user. We use RHEL version 4, 5, & 6. Lets say usernames are Ray4 & Ray6 & the script name is deal. Specific tasks for this script are: Does the ...
1
vote
1answer
2k views

cd to a name-unknown directory in a known path

I am trying to automate the deployment of a webapp under development that is frequently updated. The webapp comes in the form of a zip file with unknown name, and this directory structure: ...
2
votes
3answers
9k views

Replacing the values in one file with the values in another file in bash

I am having a csv file naming List.csv in following format: Location,IP Address,Host Name,Domain,Domain Name, User Name,Manufacturer,Model,System Type, Serial Number, Operating System,RAM ...
2
votes
1answer
297 views

How to create infinite pipe of strings in bash

I have about 10 links in file links.txt. I download them through cat links.txt | xargs -i --max-procs=4 bash -c "wget {}" I whould like do it repeatedly like while : do cat links.txt | ...
3
votes
2answers
318 views

Canonical bash environment variable representing a user's email address

I'm writing a bash function which will send an email to the current user upon completion. I'm wondering if there's a canonical or normal way to get a user's email address. My current plan is to ...