Skip to content

Commit 0a17044

Browse files
committed
making sed work with both unix and mac os x
1 parent f1e45ee commit 0a17044

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

create_module.sh

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,20 @@ rm -frv $DIRECTORY_DST/templates > /dev/null
132132
rm $DIRECTORY_DST/LICENSE # Module-Template-License
133133
rm $DIRECTORY_DST/create_module.sh # module creation script
134134

135-
sed -i s/\{\{MODULE_NAME\}\}/$MODULE_NAME/g $DIRECTORY_DST/*.*
136-
sed -i s/\{\{AUTHOR_NAME\}\}/"$AUTHOR_NAME"/g $DIRECTORY_DST/*.*
137-
sed -i s/\{\{LICENSE\}\}/$LICENSE/g $DIRECTORY_DST/*.*
138-
sed -i s/\{\{YEAR\}\}/$YEAR/g $DIRECTORY_DST/*.*
139-
sed -i s/\{\{DESCRIPTION\}\}/"$DESCRIPTION"/g $DIRECTORY_DST/*.*
135+
# Based on https://stackoverflow.com/a/51060063
136+
# Default case for Linux sed, just use "-i"
137+
sedi=(-i)
138+
case "$(uname)" in
139+
# For macOS, use two parameters
140+
Darwin*) sedi=(-i "")
141+
esac
142+
143+
# Expand the parameters in the actual call to "sed"
144+
sed "${sedi[@]}" -e s/\{\{MODULE_NAME\}\}/$MODULE_NAME/g $DIRECTORY_DST/*.*
145+
sed "${sedi[@]}" -e s/\{\{AUTHOR_NAME\}\}/"$AUTHOR_NAME"/g $DIRECTORY_DST/*.*
146+
sed "${sedi[@]}" -e s/\{\{LICENSE\}\}/$LICENSE/g $DIRECTORY_DST/*.*
147+
sed "${sedi[@]}" -e s/\{\{YEAR\}\}/$YEAR/g $DIRECTORY_DST/*.*
148+
sed "${sedi[@]}" -e s/\{\{DESCRIPTION\}\}/"$DESCRIPTION"/g $DIRECTORY_DST/*.*
140149

141150

142151
cd $DIRECTORY_DST
@@ -148,4 +157,4 @@ rm -frv $TMPDIR 2 > /dev/null
148157
echo "Happy coding! Have fun you are an awesome developer :)"
149158
echo "here your development directory $DIRECTORY_DST"
150159
cd $DIRECTORY_DST
151-
ls $DIRECTORY_DST
160+
ls $DIRECTORY_DST

0 commit comments

Comments
 (0)