Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

The following Bash script exits after the first read -p line.

#!/bin/bash
clear

echo Put me next to your targeted .sh file!
read -p "Press [Enter] key when placed next to target..."

echo Type your .sh filename (target.sh)...
read target

chmod +x $target
echo Target Converted!
read -p "Press [Enter] key to Exit..."

Could somebody explain why the script exits and how do I prevent it?

share|improve this question
add comment

1 Answer

The script exits because of the following error:

a.sh: line 7: syntax error near unexpected token `('
a.sh: line 7: `echo Type your .sh filename (target.sh)...'

In Bash, and more generally in command line interpreters, some characters are special and have a meaning. ( and ) are two of those characters.

When using echo, read -p or other similar commands, always enclose your strings in quotes, like this:

echo "Put me next to your targeted .sh file!"
[...]
echo "Type your .sh filename (target.sh)..."
[...]
echo "Target Converted!"
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.