Command not found error in Bash script
So I have written a bashscript.sh
file to check if a directory project1_repo
is empty after cloning a project.
I have written four different functions to authenticate it but all the time I get command not found
error. I have checked multiple times if there is a syntax error
but in vain. Could someone please help me out? Thanks.
EDIT: Previously due to a typo project1_install_dir
was called colsim1_install_dir
but the edited version is correct.
#!/bin/bash
#path to install project1
function project1_install_dir() {
while true;
do
read -p "Enter FULL folder path where you want to install project1:" fullpath
echo "you have enterd $fullpath. Please press 'y' to confirm and 'n' to enter again"
read -p "Continue? (Y/N): " confirm
if [[ $confirm =~ ^([yY][eE][sS]|[yY])$ ]]; then
break
else
continue
fi
done
}
#clone project1
function clone_project1_repo() {
git clone example git .
}
# four functions to Check whether cloning is successful
# function 1
function success_of_cloning_of_project1_repo3() {
if find $fullpath/project1/project1_repo -mindepth 1 | read; then
echo "dir not empty"
else
echo "dir empty"
fi
}
# function 2
function success_of_cloning_of_project_repo2() {
DIR="$fullpath/project1/project1_repo"
if [ -n "$(ls -A $DIR)" ]; then
echo "Take action $DIR is not Empty"
else
echo "$DIR is Empty"
fi
}
# function 3
function success_of_cloning_of_project_repo1() {
if [ -d $fullpath/project1/project1_repo ]; then
[ -n "$(ls -A $fullpath/project1/project1_repo)" ] && echo "Not Empty" || echo "Empty"
else
:
fi
}
# function 4
function success_of_cloning_of_project_repo() {
while true;
do
if [ -n "$(ls -A $fullpath/project1/project1_repo)" ]; then
echo "cloning of project1_repo is successful"
break
else
echo "cloning of project1_repo is NOT successful."
continue
fi
done
}
#calling the functions
function main() {
project1_install_dir
success_of_cloning_of_project1_repo3
success_of_cloning_of_project1_repo2
success_of_cloning_of_project1_repo1
success_of_cloning_of_project1_repo
}
main
Terminal output
jen@ex343:tdk/jen$ source bash_file_test.sh
Enter FULL folder path where you want to install project1:/tdk/jen
you have enterd /tdk/jen. Please press 'y' to confirm and 'n' to enter again
Continue? (Y/N): y
You have chosen yes
-bash: success_of_cloning_of_colsim1_utilities_repo3: command not found
-bash: success_of_cloning_of_colsim1_utilities_repo2: command not found
-bash: success_of_cloning_of_colsim1_utilities_repo1: command not found
-bash: success_of_cloning_of_colsim1_utilities_repo: command not found
command-line bash scripts
New contributor
add a comment |
So I have written a bashscript.sh
file to check if a directory project1_repo
is empty after cloning a project.
I have written four different functions to authenticate it but all the time I get command not found
error. I have checked multiple times if there is a syntax error
but in vain. Could someone please help me out? Thanks.
EDIT: Previously due to a typo project1_install_dir
was called colsim1_install_dir
but the edited version is correct.
#!/bin/bash
#path to install project1
function project1_install_dir() {
while true;
do
read -p "Enter FULL folder path where you want to install project1:" fullpath
echo "you have enterd $fullpath. Please press 'y' to confirm and 'n' to enter again"
read -p "Continue? (Y/N): " confirm
if [[ $confirm =~ ^([yY][eE][sS]|[yY])$ ]]; then
break
else
continue
fi
done
}
#clone project1
function clone_project1_repo() {
git clone example git .
}
# four functions to Check whether cloning is successful
# function 1
function success_of_cloning_of_project1_repo3() {
if find $fullpath/project1/project1_repo -mindepth 1 | read; then
echo "dir not empty"
else
echo "dir empty"
fi
}
# function 2
function success_of_cloning_of_project_repo2() {
DIR="$fullpath/project1/project1_repo"
if [ -n "$(ls -A $DIR)" ]; then
echo "Take action $DIR is not Empty"
else
echo "$DIR is Empty"
fi
}
# function 3
function success_of_cloning_of_project_repo1() {
if [ -d $fullpath/project1/project1_repo ]; then
[ -n "$(ls -A $fullpath/project1/project1_repo)" ] && echo "Not Empty" || echo "Empty"
else
:
fi
}
# function 4
function success_of_cloning_of_project_repo() {
while true;
do
if [ -n "$(ls -A $fullpath/project1/project1_repo)" ]; then
echo "cloning of project1_repo is successful"
break
else
echo "cloning of project1_repo is NOT successful."
continue
fi
done
}
#calling the functions
function main() {
project1_install_dir
success_of_cloning_of_project1_repo3
success_of_cloning_of_project1_repo2
success_of_cloning_of_project1_repo1
success_of_cloning_of_project1_repo
}
main
Terminal output
jen@ex343:tdk/jen$ source bash_file_test.sh
Enter FULL folder path where you want to install project1:/tdk/jen
you have enterd /tdk/jen. Please press 'y' to confirm and 'n' to enter again
Continue? (Y/N): y
You have chosen yes
-bash: success_of_cloning_of_colsim1_utilities_repo3: command not found
-bash: success_of_cloning_of_colsim1_utilities_repo2: command not found
-bash: success_of_cloning_of_colsim1_utilities_repo1: command not found
-bash: success_of_cloning_of_colsim1_utilities_repo: command not found
command-line bash scripts
New contributor
Your terminal output and the script are inconsistent. Themain()
function callsproject1_install_dir
but there's no such function anywhere to be found in the script. But from your outputcolsim1_install_dir
seems to be called first. Isproject1_install_dir
another script installed somewhere ? As for the output-bash: success_of_cloning_of_colsim1_utilities_repo3:
it seems like function name got mangled with other function name.
– Sergiy Kolodyazhnyy
24 mins ago
Sorry. There was a typo..both should be project1_install_dir. I have edited. sorry again.
– Jenny
18 mins ago
No problems. So far I don't see any issue related to the error itself. You have a few places where variable$fullpath
should be quoted andread -r -p
should be used instead of justread -p
, but these shouldn't be the cause of the error.
– Sergiy Kolodyazhnyy
6 mins ago
Was this script ever on windows or anything that could have potentially inserted newline endings specific to DOS ? Do you use a non-English keyboard that could have entered different types of space characters ? I know with Chinese inputs there is a wide space character, which is different from ASCII space. Try doingcat -A ./scriptname.sh
, maybe it will show special characters besides just$
line ending
– Sergiy Kolodyazhnyy
36 secs ago
add a comment |
So I have written a bashscript.sh
file to check if a directory project1_repo
is empty after cloning a project.
I have written four different functions to authenticate it but all the time I get command not found
error. I have checked multiple times if there is a syntax error
but in vain. Could someone please help me out? Thanks.
EDIT: Previously due to a typo project1_install_dir
was called colsim1_install_dir
but the edited version is correct.
#!/bin/bash
#path to install project1
function project1_install_dir() {
while true;
do
read -p "Enter FULL folder path where you want to install project1:" fullpath
echo "you have enterd $fullpath. Please press 'y' to confirm and 'n' to enter again"
read -p "Continue? (Y/N): " confirm
if [[ $confirm =~ ^([yY][eE][sS]|[yY])$ ]]; then
break
else
continue
fi
done
}
#clone project1
function clone_project1_repo() {
git clone example git .
}
# four functions to Check whether cloning is successful
# function 1
function success_of_cloning_of_project1_repo3() {
if find $fullpath/project1/project1_repo -mindepth 1 | read; then
echo "dir not empty"
else
echo "dir empty"
fi
}
# function 2
function success_of_cloning_of_project_repo2() {
DIR="$fullpath/project1/project1_repo"
if [ -n "$(ls -A $DIR)" ]; then
echo "Take action $DIR is not Empty"
else
echo "$DIR is Empty"
fi
}
# function 3
function success_of_cloning_of_project_repo1() {
if [ -d $fullpath/project1/project1_repo ]; then
[ -n "$(ls -A $fullpath/project1/project1_repo)" ] && echo "Not Empty" || echo "Empty"
else
:
fi
}
# function 4
function success_of_cloning_of_project_repo() {
while true;
do
if [ -n "$(ls -A $fullpath/project1/project1_repo)" ]; then
echo "cloning of project1_repo is successful"
break
else
echo "cloning of project1_repo is NOT successful."
continue
fi
done
}
#calling the functions
function main() {
project1_install_dir
success_of_cloning_of_project1_repo3
success_of_cloning_of_project1_repo2
success_of_cloning_of_project1_repo1
success_of_cloning_of_project1_repo
}
main
Terminal output
jen@ex343:tdk/jen$ source bash_file_test.sh
Enter FULL folder path where you want to install project1:/tdk/jen
you have enterd /tdk/jen. Please press 'y' to confirm and 'n' to enter again
Continue? (Y/N): y
You have chosen yes
-bash: success_of_cloning_of_colsim1_utilities_repo3: command not found
-bash: success_of_cloning_of_colsim1_utilities_repo2: command not found
-bash: success_of_cloning_of_colsim1_utilities_repo1: command not found
-bash: success_of_cloning_of_colsim1_utilities_repo: command not found
command-line bash scripts
New contributor
So I have written a bashscript.sh
file to check if a directory project1_repo
is empty after cloning a project.
I have written four different functions to authenticate it but all the time I get command not found
error. I have checked multiple times if there is a syntax error
but in vain. Could someone please help me out? Thanks.
EDIT: Previously due to a typo project1_install_dir
was called colsim1_install_dir
but the edited version is correct.
#!/bin/bash
#path to install project1
function project1_install_dir() {
while true;
do
read -p "Enter FULL folder path where you want to install project1:" fullpath
echo "you have enterd $fullpath. Please press 'y' to confirm and 'n' to enter again"
read -p "Continue? (Y/N): " confirm
if [[ $confirm =~ ^([yY][eE][sS]|[yY])$ ]]; then
break
else
continue
fi
done
}
#clone project1
function clone_project1_repo() {
git clone example git .
}
# four functions to Check whether cloning is successful
# function 1
function success_of_cloning_of_project1_repo3() {
if find $fullpath/project1/project1_repo -mindepth 1 | read; then
echo "dir not empty"
else
echo "dir empty"
fi
}
# function 2
function success_of_cloning_of_project_repo2() {
DIR="$fullpath/project1/project1_repo"
if [ -n "$(ls -A $DIR)" ]; then
echo "Take action $DIR is not Empty"
else
echo "$DIR is Empty"
fi
}
# function 3
function success_of_cloning_of_project_repo1() {
if [ -d $fullpath/project1/project1_repo ]; then
[ -n "$(ls -A $fullpath/project1/project1_repo)" ] && echo "Not Empty" || echo "Empty"
else
:
fi
}
# function 4
function success_of_cloning_of_project_repo() {
while true;
do
if [ -n "$(ls -A $fullpath/project1/project1_repo)" ]; then
echo "cloning of project1_repo is successful"
break
else
echo "cloning of project1_repo is NOT successful."
continue
fi
done
}
#calling the functions
function main() {
project1_install_dir
success_of_cloning_of_project1_repo3
success_of_cloning_of_project1_repo2
success_of_cloning_of_project1_repo1
success_of_cloning_of_project1_repo
}
main
Terminal output
jen@ex343:tdk/jen$ source bash_file_test.sh
Enter FULL folder path where you want to install project1:/tdk/jen
you have enterd /tdk/jen. Please press 'y' to confirm and 'n' to enter again
Continue? (Y/N): y
You have chosen yes
-bash: success_of_cloning_of_colsim1_utilities_repo3: command not found
-bash: success_of_cloning_of_colsim1_utilities_repo2: command not found
-bash: success_of_cloning_of_colsim1_utilities_repo1: command not found
-bash: success_of_cloning_of_colsim1_utilities_repo: command not found
command-line bash scripts
command-line bash scripts
New contributor
New contributor
edited 12 mins ago
Jenny
New contributor
asked 42 mins ago
JennyJenny
665
665
New contributor
New contributor
Your terminal output and the script are inconsistent. Themain()
function callsproject1_install_dir
but there's no such function anywhere to be found in the script. But from your outputcolsim1_install_dir
seems to be called first. Isproject1_install_dir
another script installed somewhere ? As for the output-bash: success_of_cloning_of_colsim1_utilities_repo3:
it seems like function name got mangled with other function name.
– Sergiy Kolodyazhnyy
24 mins ago
Sorry. There was a typo..both should be project1_install_dir. I have edited. sorry again.
– Jenny
18 mins ago
No problems. So far I don't see any issue related to the error itself. You have a few places where variable$fullpath
should be quoted andread -r -p
should be used instead of justread -p
, but these shouldn't be the cause of the error.
– Sergiy Kolodyazhnyy
6 mins ago
Was this script ever on windows or anything that could have potentially inserted newline endings specific to DOS ? Do you use a non-English keyboard that could have entered different types of space characters ? I know with Chinese inputs there is a wide space character, which is different from ASCII space. Try doingcat -A ./scriptname.sh
, maybe it will show special characters besides just$
line ending
– Sergiy Kolodyazhnyy
36 secs ago
add a comment |
Your terminal output and the script are inconsistent. Themain()
function callsproject1_install_dir
but there's no such function anywhere to be found in the script. But from your outputcolsim1_install_dir
seems to be called first. Isproject1_install_dir
another script installed somewhere ? As for the output-bash: success_of_cloning_of_colsim1_utilities_repo3:
it seems like function name got mangled with other function name.
– Sergiy Kolodyazhnyy
24 mins ago
Sorry. There was a typo..both should be project1_install_dir. I have edited. sorry again.
– Jenny
18 mins ago
No problems. So far I don't see any issue related to the error itself. You have a few places where variable$fullpath
should be quoted andread -r -p
should be used instead of justread -p
, but these shouldn't be the cause of the error.
– Sergiy Kolodyazhnyy
6 mins ago
Was this script ever on windows or anything that could have potentially inserted newline endings specific to DOS ? Do you use a non-English keyboard that could have entered different types of space characters ? I know with Chinese inputs there is a wide space character, which is different from ASCII space. Try doingcat -A ./scriptname.sh
, maybe it will show special characters besides just$
line ending
– Sergiy Kolodyazhnyy
36 secs ago
Your terminal output and the script are inconsistent. The
main()
function calls project1_install_dir
but there's no such function anywhere to be found in the script. But from your output colsim1_install_dir
seems to be called first. Is project1_install_dir
another script installed somewhere ? As for the output -bash: success_of_cloning_of_colsim1_utilities_repo3:
it seems like function name got mangled with other function name.– Sergiy Kolodyazhnyy
24 mins ago
Your terminal output and the script are inconsistent. The
main()
function calls project1_install_dir
but there's no such function anywhere to be found in the script. But from your output colsim1_install_dir
seems to be called first. Is project1_install_dir
another script installed somewhere ? As for the output -bash: success_of_cloning_of_colsim1_utilities_repo3:
it seems like function name got mangled with other function name.– Sergiy Kolodyazhnyy
24 mins ago
Sorry. There was a typo..both should be project1_install_dir. I have edited. sorry again.
– Jenny
18 mins ago
Sorry. There was a typo..both should be project1_install_dir. I have edited. sorry again.
– Jenny
18 mins ago
No problems. So far I don't see any issue related to the error itself. You have a few places where variable
$fullpath
should be quoted and read -r -p
should be used instead of just read -p
, but these shouldn't be the cause of the error.– Sergiy Kolodyazhnyy
6 mins ago
No problems. So far I don't see any issue related to the error itself. You have a few places where variable
$fullpath
should be quoted and read -r -p
should be used instead of just read -p
, but these shouldn't be the cause of the error.– Sergiy Kolodyazhnyy
6 mins ago
Was this script ever on windows or anything that could have potentially inserted newline endings specific to DOS ? Do you use a non-English keyboard that could have entered different types of space characters ? I know with Chinese inputs there is a wide space character, which is different from ASCII space. Try doing
cat -A ./scriptname.sh
, maybe it will show special characters besides just $
line ending– Sergiy Kolodyazhnyy
36 secs ago
Was this script ever on windows or anything that could have potentially inserted newline endings specific to DOS ? Do you use a non-English keyboard that could have entered different types of space characters ? I know with Chinese inputs there is a wide space character, which is different from ASCII space. Try doing
cat -A ./scriptname.sh
, maybe it will show special characters besides just $
line ending– Sergiy Kolodyazhnyy
36 secs ago
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "89"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Jenny is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1126511%2fcommand-not-found-error-in-bash-script%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Jenny is a new contributor. Be nice, and check out our Code of Conduct.
Jenny is a new contributor. Be nice, and check out our Code of Conduct.
Jenny is a new contributor. Be nice, and check out our Code of Conduct.
Jenny is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Ask Ubuntu!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1126511%2fcommand-not-found-error-in-bash-script%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Your terminal output and the script are inconsistent. The
main()
function callsproject1_install_dir
but there's no such function anywhere to be found in the script. But from your outputcolsim1_install_dir
seems to be called first. Isproject1_install_dir
another script installed somewhere ? As for the output-bash: success_of_cloning_of_colsim1_utilities_repo3:
it seems like function name got mangled with other function name.– Sergiy Kolodyazhnyy
24 mins ago
Sorry. There was a typo..both should be project1_install_dir. I have edited. sorry again.
– Jenny
18 mins ago
No problems. So far I don't see any issue related to the error itself. You have a few places where variable
$fullpath
should be quoted andread -r -p
should be used instead of justread -p
, but these shouldn't be the cause of the error.– Sergiy Kolodyazhnyy
6 mins ago
Was this script ever on windows or anything that could have potentially inserted newline endings specific to DOS ? Do you use a non-English keyboard that could have entered different types of space characters ? I know with Chinese inputs there is a wide space character, which is different from ASCII space. Try doing
cat -A ./scriptname.sh
, maybe it will show special characters besides just$
line ending– Sergiy Kolodyazhnyy
36 secs ago