Questions tagged [bash]

Bash is the Bourne Again SHell, the successor to the classic Unix sh (shell).

bash is the Bourne Again SHell, the successor to the classic Unix Bourne shell (sh). It's the default shell on many Linux distributions, including RedHat, CentOS, Debian, and Ubuntu.

ShellCheck is the linter for bash scripts. Google has published a Style Guide which includes recommendations for shell scripting that is maintained in a large corporate environment.

3579 questions
93
votes
8 answers

zcat/gzcat works in linux, not on osx. general linux/osx compatibility

First the specific problem: In linux, I use zcat to list a .zip file. In osx, zcat seems to automatically append .Z to the file name. Various people suggest replacing zcat with gzcat; however, gzcat complains that the file is not in gzip format!…
user23398
  • 1,281
92
votes
4 answers

How can I find the path to an executable in OSX

Is there a command I can use to easily find the path to an executable? I'm looking for identify on my local machine - something like pwd? pwd identify => /usr/local/bin/identify
Codebeef
  • 1,519
90
votes
11 answers

How to remove invalid characters from filenames?

I have files with invalid characters like these 009_-_�%86ndringshåndtering.html It is a Æ where something have gone wrong in the filename. Is there a way to just remove all invalid characters? or could tr be used somehow? echo…
Sandra
  • 10,861
  • 42
  • 123
  • 177
89
votes
8 answers

Straight forward way to run ssh-agent and ssh-add on login via SSH?

I'm trying to have the following commands be auto-executed when I login to my server via ssh: ssh-agent /bin/bash ssh-add ~/.ssh/id_rsa My ssh key has a passphrase and I'm fine with entering it once per login. I tried putting this in my .bashrc…
Click Upvote
  • 1,085
87
votes
6 answers

What does passing the -xe parameters to /bin/bash do

Exactly what the title says. I'm not having much luck finding the proper documentation to see what -xe does in the following use case: #!/bin/bash -xe what do those parameters do and where it is documented?
imaginative
  • 2,021
86
votes
6 answers

How can I check in bash if a shell is running in interactive mode?

How can I tell (in ~/.bashrc ) if I'm running in interactive mode, or, say, executing a command over ssh. I want to avoid printing of ANSI escape sequences in .bashrc if it's the latter.
Alex B
  • 1,884
84
votes
13 answers

How can I run arbitrarily complex command using sudo over ssh?

I have a system that I can only log in to under my username (myuser), but I need to run commands as other user (scriptuser). So far, I have come up with the following to run the commands I need: ssh -tq myuser@hostname "sudo -u scriptuser bash -c…
VoY
  • 1,305
84
votes
7 answers

Log all commands run by admins on production servers

It is company policy for admins to login to the servers via a personal username, and then run sudo -i to become root. Upon running sudo -i , sudo will create an environmental variable called SUDO_USER , which contains the original user's username.…
Soviero
  • 4,436
84
votes
3 answers

In Bash, are wildcard expansions guaranteed to be in order?

Is the expansion of a wildcard in Bash guaranteed to be in alphabetical order? I am forced to split a large file into 10 Mb pieces so that they can be be accepted by my Mercurial repository. So I was thinking I could use: split -b 10485760 Big.file…
Sled
  • 985
  • 1
  • 7
  • 12
80
votes
6 answers

How to test if my server is vulnerable to the ShellShock bug?

How can I ensure my Bash installation is not vulnerable to the ShellShock bug anymore after the updates?
anon
80
votes
8 answers

How to read in N random characters from /dev/urandom?

read /dev/urandom 3 The above is not working..How can I read random bytes from /dev/urandom in bash?
linux
  • 1,363
74
votes
6 answers

Newline-separated xargs

Is it possible to make xargs use only newline as separator? (in bash on Linux and OS X if that matters) I know -0 can be used, but it's PITA as not every command supports NUL-delimited output.
Kornel
  • 1,195
73
votes
1 answer

Bash: Difference between > and >> operator?

I don't know much about bash. My instructor asked me to make a cat script and to observe the output and then tell what is the operator > and what is the difference between the operators > & >>. I am unable to find any justifications. Could you help?
jumbo18
  • 747
72
votes
4 answers

Is there a difference between how two ampersands and a semi-colon operate in bash?

If I wanted to run two separate commands on one line, I could do this: cd /home; ls -al or this: cd /home && ls -al And I get the same results. However, what is going on in the background with these two methods? What is the functional difference…
Sean P
  • 737
72
votes
11 answers

Linux: How to use a file as input and output at the same time?

I've just run the following in bash: uniq .bash_history > .bash_history and my history file ended up completely empty. I guess I need a way to read the whole file before writing to it. How is that done? PS: I obviously thought of using a temporary…