156,847 questions
6403
votes
82
answers
2.8m
views
How do I get the directory where a Bash script is located from within the script itself?
How do I get the path of the directory in which a Bash script is located, inside that script?
I want to use a Bash script as a launcher for another application. I want to change the working directory ...
4550
votes
35
answers
3.5m
views
How do I check if a directory exists or not in a Bash shell script?
What command checks if a directory exists or not within a Bash shell script?
4160
votes
21
answers
3.4m
views
How do I tell if a file does not exist in Bash?
This checks if a file exists:
#!/bin/bash
FILE=$1
if [ -f $FILE ]; then
echo "File $FILE exists."
else
echo "File $FILE does not exist."
fi
How do I only check if the ...
3665
votes
22
answers
3.7m
views
Echo newline in Bash prints literal \n
How do I print a newline? This merely prints \n:
echo -e "Hello,\nWorld!"
Output:
Hello,\nWorld!
3657
votes
30
answers
3.4m
views
How to check if a string contains a substring in Bash
I have a string in Bash:
string="My string"
How can I test if it contains another string?
if [ $string ?? 'foo' ]; then
echo "It's there!"
fi
Where ?? is my unknown operator. ...
3611
votes
31
answers
5.3m
views
How to concatenate string variables in Bash
In PHP, strings are concatenated together as follows:
$foo = "Hello";
$foo .= " World";
Here, $foo becomes "Hello World".
How is this accomplished in Bash?
3253
votes
19
answers
2.0m
views
What does " 2>&1 " mean?
To combine stderr and stdout into the stdout stream, we append this to a command:
2>&1
For example, the following command shows the first few errors from compiling main.cpp:
g++ main.cpp 2>&...
3214
votes
38
answers
1.3m
views
How can I check if a program exists from a Bash script?
How would I validate that a program exists, in a way that will either return an error and exit, or continue with the script?
It seems like it should be easy, but it's been stumping me.
3032
votes
40
answers
3.9m
views
How do I split a string on a delimiter in Bash?
I have this string stored in a variable:
IN="[email protected];[email protected]"
Now I would like to split the strings by ; delimiter so that I have:
ADDR1="[email protected]"
ADDR2="[email protected]"
I don't ...
2918
votes
40
answers
2.4m
views
Extract filename and extension in Bash
I want to get the filename (without extension) and the extension separately.
The best solution I found so far is:
NAME=`echo "$FILE" | cut -d'.' -f1`
EXTENSION=`echo "$FILE" | cut -...
2851
votes
34
answers
2.2m
views
How to change the output color of echo in Linux
I am trying to print a text in a red color in the terminal using echo command.
How can I do that?
2627
votes
43
answers
2.2m
views
How do I parse command line arguments in Bash?
Say, I have a script that gets called with this line:
./myscript -vfd ./foo/bar/someFile -o /fizz/someOtherFile
or this one:
./myscript -v -f -d -o /fizz/someOtherFile ./foo/bar/someFile
What's the ...
2517
votes
38
answers
2.5m
views
How to check if a variable is set in Bash
How do I know if a variable is set in Bash?
For example, how do I check if the user gave the first parameter to a function?
function a {
# if $1 is set ?
}
2507
votes
16
answers
3.1m
views
How do I set a variable to the output of a command in Bash?
I have a pretty simple script that is something like the following:
#!/bin/bash
VAR1="$1"
MOREF='sudo run command against $VAR1 | grep name | cut -c7-'
echo $MOREF
When I run this script from the ...
2418
votes
22
answers
2.3m
views
Loop through an array of strings in Bash?
I want to write a script that loops through 15 strings (array possibly?) Is that possible?
for databaseName in listOfNames
then
# Do something
end