diff --git a/apps/files_external/tests/env/start-ftp-morrisjobke.sh b/apps/files_external/tests/env/start-ftp-morrisjobke.sh
index 3831e788e5e306166cde67938a236f6f648a42cf..a082e6195fb762c3346b3c99e23d138f302d05fe 100755
--- a/apps/files_external/tests/env/start-ftp-morrisjobke.sh
+++ b/apps/files_external/tests/env/start-ftp-morrisjobke.sh
@@ -23,7 +23,7 @@ echo "Fetch recent morrisjobke/docker-proftpd docker image"
 docker pull morrisjobke/docker-proftpd
 
 # retrieve current folder to place the config in the parent folder
-thisFolder=`echo $0 | replace "env/start-ftp-morrisjobke.sh" ""`
+thisFolder=`echo $0 | sed 's#env/start-ftp-morrisjobke\.sh##'`
 
 if [ -z "$thisFolder" ]; then
     thisFolder="."
diff --git a/apps/files_external/tests/env/start-sftp-atmoz.sh b/apps/files_external/tests/env/start-sftp-atmoz.sh
index f77c7a3fddd638c4e2893cd1eeca78d6dd22013d..04b829add599814647834001cfbe23fac8710f64 100755
--- a/apps/files_external/tests/env/start-sftp-atmoz.sh
+++ b/apps/files_external/tests/env/start-sftp-atmoz.sh
@@ -23,7 +23,7 @@ echo "Fetch recent atmoz/sftp docker image"
 docker pull atmoz/sftp
 
 # retrieve current folder to place the config in the parent folder
-thisFolder=`echo $0 | replace "env/start-sftp-atmoz.sh" ""`
+thisFolder=`echo $0 | sed 's#env/start-sftp-atmoz\.sh##'`
 
 if [ -z "$thisFolder" ]; then
     thisFolder="."
diff --git a/apps/files_external/tests/env/start-smb-silvershell.sh b/apps/files_external/tests/env/start-smb-silvershell.sh
index f72ad3f9e23f86a4443a76e066cdb0bd8743889a..afada44d4f7bca88c91abff8e5d1fb86c02ee6fa 100755
--- a/apps/files_external/tests/env/start-smb-silvershell.sh
+++ b/apps/files_external/tests/env/start-smb-silvershell.sh
@@ -23,7 +23,7 @@ echo "Fetch recent silvershell/samba docker image"
 docker pull silvershell/samba
 
 # retrieve current folder to place the config in the parent folder
-thisFolder=`echo $0 | replace "env/start-smb-silvershell.sh" ""`
+thisFolder=`echo $0 | sed 's#env/start-smb-silvershell\.sh##'`
 
 if [ -z "$thisFolder" ]; then
     thisFolder="."
diff --git a/apps/files_external/tests/env/start-smb-windows.sh b/apps/files_external/tests/env/start-smb-windows.sh
index d56b0d4f0b5ecf624263ba8ae82ff1fd9d8cbcb3..a5a19ff1bcf21b4e2ab6a772bc3b895b0cfe90de 100755
--- a/apps/files_external/tests/env/start-smb-windows.sh
+++ b/apps/files_external/tests/env/start-smb-windows.sh
@@ -9,7 +9,7 @@
 #
 
 # retrieve current folder to place the config in the parent folder
-thisFolder=`echo $0 | replace "env/start-smb-windows.sh" ""`
+thisFolder=`echo $0 | sed 's#env/start-smb-windows\.sh##'`
 
 if [ -z "$thisFolder" ]; then
     thisFolder="."
diff --git a/apps/files_external/tests/env/start-webdav-ownCloud.sh b/apps/files_external/tests/env/start-webdav-ownCloud.sh
index 58b87e8f05d3f8ad6bd64ca08446f5409394b31d..d6b36c8d90c5199878a020e55d02e08571c86b3f 100755
--- a/apps/files_external/tests/env/start-webdav-ownCloud.sh
+++ b/apps/files_external/tests/env/start-webdav-ownCloud.sh
@@ -26,7 +26,7 @@ echo "Fetch recent morrisjobke/owncloud docker image"
 docker pull morrisjobke/owncloud
 
 # retrieve current folder to place the config in the parent folder
-thisFolder=`echo $0 | replace "env/start-webdav-ownCloud.sh" ""`
+thisFolder=`echo $0 | sed 's#env/start-webdav-ownCloud\.sh##'`
 
 if [ -z "$thisFolder" ]; then
     thisFolder="."
diff --git a/apps/files_external/tests/env/stop-ftp-morrisjobke.sh b/apps/files_external/tests/env/stop-ftp-morrisjobke.sh
index d8c6cc4f3071a6609d7d1642dfa1e6ed1ce892b3..899b9a539716308c7f3d20a9053a23624466f166 100755
--- a/apps/files_external/tests/env/stop-ftp-morrisjobke.sh
+++ b/apps/files_external/tests/env/stop-ftp-morrisjobke.sh
@@ -17,7 +17,7 @@ fi
 echo "Docker executable found - stop and remove docker containers"
 
 # retrieve current folder to remove the config from the parent folder
-thisFolder=`echo $0 | replace "env/stop-ftp-morrisjobke.sh" ""`
+thisFolder=`echo $0 | sed 's#env/stop-ftp-morrisjobke\.sh##'`
 
 if [ -z "$thisFolder" ]; then
     thisFolder="."
diff --git a/apps/files_external/tests/env/stop-sftp-atmoz.sh b/apps/files_external/tests/env/stop-sftp-atmoz.sh
index 829855c807cbd22484c35388abe9883050d5b44c..64570cfd68d53468f3d32659823bcc33acf0fb7e 100755
--- a/apps/files_external/tests/env/stop-sftp-atmoz.sh
+++ b/apps/files_external/tests/env/stop-sftp-atmoz.sh
@@ -17,7 +17,7 @@ fi
 echo "Docker executable found - stop and remove docker containers"
 
 # retrieve current folder to remove the config from the parent folder
-thisFolder=`echo $0 | replace "env/stop-sftp-atmoz.sh" ""`
+thisFolder=`echo $0 | sed 's#env/stop-sftp-atmoz\.sh##'`
 
 if [ -z "$thisFolder" ]; then
     thisFolder="."
diff --git a/apps/files_external/tests/env/stop-smb-silvershell.sh b/apps/files_external/tests/env/stop-smb-silvershell.sh
index 6ae28d15506e9258120da051f6e1286dfcedd84a..aae954284e908d5e225afb8e41e1a0e0f6f623b7 100755
--- a/apps/files_external/tests/env/stop-smb-silvershell.sh
+++ b/apps/files_external/tests/env/stop-smb-silvershell.sh
@@ -17,7 +17,7 @@ fi
 echo "Docker executable found - stop and remove docker containers"
 
 # retrieve current folder to remove the config from the parent folder
-thisFolder=`echo $0 | replace "env/stop-smb-silvershell.sh" ""`
+thisFolder=`echo $0 | sed 's#env/stop-smb-silvershell\.sh##'`
 
 if [ -z "$thisFolder" ]; then
     thisFolder="."
diff --git a/apps/files_external/tests/env/stop-smb-windows.sh b/apps/files_external/tests/env/stop-smb-windows.sh
index 8e9c82b9569243b72b1c8d7ba9d48972f0fc4ed0..4f89451ce11d9e0a387ae621f6170be074cba821 100755
--- a/apps/files_external/tests/env/stop-smb-windows.sh
+++ b/apps/files_external/tests/env/stop-smb-windows.sh
@@ -7,7 +7,7 @@
 #
 
 # retrieve current folder to remove the config from the parent folder
-thisFolder=`echo $0 | replace "env/stop-smb-windows.sh" ""`
+thisFolder=`echo $0 | sed 's#env/stop-smb-windows\.sh##'`
 
 if [ -z "$thisFolder" ]; then
     thisFolder="."
diff --git a/apps/files_external/tests/env/stop-webdav-ownCloud.sh b/apps/files_external/tests/env/stop-webdav-ownCloud.sh
index 9d75c2bbd03b1683b2dbb9d14e71f32f51059178..c87760a1052c677650ddb4136b9d827253a0e879 100755
--- a/apps/files_external/tests/env/stop-webdav-ownCloud.sh
+++ b/apps/files_external/tests/env/stop-webdav-ownCloud.sh
@@ -17,7 +17,7 @@ fi
 echo "Docker executable found - stop and remove docker containers"
 
 # retrieve current folder to remove the config from the parent folder
-thisFolder=`echo $0 | replace "env/stop-webdav-ownCloud.sh" ""`
+thisFolder=`echo $0 | sed 's#env/stop-webdav-ownCloud\.sh##'`
 
 if [ -z "$thisFolder" ]; then
     thisFolder="."
diff --git a/autotest-external.sh b/autotest-external.sh
index 6ebe093c8a755e5eb9d05124bef48a773a8ff901..65d53aaa95d28aabc50f7b94042206de50fc3f68 100755
--- a/autotest-external.sh
+++ b/autotest-external.sh
@@ -32,11 +32,6 @@ if ! [ -x "$PHPUNIT" ]; then
 	exit 3
 fi
 
-if ! which replace > /dev/null 2>&1; then
-	echo "The command 'replace' is not available on this system. Please install it first." >&2
-	exit 5
-fi
-
 PHPUNIT_VERSION=$("$PHPUNIT" --version | cut -d" " -f2)
 PHPUNIT_MAJOR_VERSION=$(echo $PHPUNIT_VERSION | cut -d"." -f1)
 PHPUNIT_MINOR_VERSION=$(echo $PHPUNIT_VERSION | cut -d"." -f2)
@@ -181,7 +176,7 @@ EOF
     FILES_EXTERNAL_BACKEND_ENV_PATH=../apps/files_external/tests/env
 
 	for startFile in `ls -1 $FILES_EXTERNAL_BACKEND_ENV_PATH | grep start`; do
-	    name=`echo $startFile | replace "start-" "" | replace ".sh" ""`
+	    name=`echo $startFile | sed 's/start-//' | sed 's/\.sh//'`
 
 	    if [ -n "$2" -a "$2" != "$name" ]; then
 	        echo "skip: $startFile"
@@ -211,7 +206,7 @@ EOF
         fi
 
 	    # calculate stop file
-	    stopFile=`echo "$startFile" | replace start stop`
+	    stopFile=`echo "$startFile" | sed 's/start/stop/'`
 	    echo "stop: $stopFile"
 	    if [ -f $FILES_EXTERNAL_BACKEND_ENV_PATH/$stopFile ]; then
 	        # execute stop file if existant