Проблема с вашим сценарием в том, что строка su $USER
вызывает подоболочку, и поэтому следующая команда не будет выполнена до тех пор, пока эта оболочка не будет завершена.
Вы, вероятно, хотите сделать что-то похожее на:
USER=sameek
USERCMDS=/tmp/usercommands.$$
echo "JAVA_HOME=..." >>$USERCMDS
echo "PATH=\${JAVA_HOME}:\$PATH" >> $USERCMDS
echo "javac HelloWorld.java" >> $USERCMDS
chmod a+x $USERCMDS
su $USER -c $USERCMDS
Проблема с вашим сценарием в том, что строка su $USER
вызывает подоболочку, и поэтому следующая команда не будет выполнена до тех пор, пока эта оболочка не будет завершена.
Вы, вероятно, хотите сделать что-то похожее на:
USER=sameek
USERCMDS=/tmp/usercommands.$$
echo "JAVA_HOME=..." >>$USERCMDS
echo "PATH=\${JAVA_HOME}:\$PATH" >> $USERCMDS
echo "javac HelloWorld.java" >> $USERCMDS
chmod a+x $USERCMDS
su $USER -c $USERCMDS
Проблема с вашим сценарием в том, что строка su $USER
вызывает подоболочку, и поэтому следующая команда не будет выполнена до тех пор, пока эта оболочка не завершится.
Вы, вероятно, хотите сделать что-то похожее на:
USER=sameek
USERCMDS=/tmp/usercommands.$$
echo "JAVA_HOME=..." >>$USERCMDS
echo "PATH=\${JAVA_HOME}:\$PATH" >> $USERCMDS
echo "javac HelloWorld.java" >> $USERCMDS
chmod a+x $USERCMDS
su $USER -c $USERCMDS
Проблема с вашим сценарием в том, что строка su $USER
вызывает подоболочку, и поэтому следующая команда не будет выполнена до тех пор, пока эта оболочка не будет завершена.
Вы, вероятно, хотите сделать что-то похожее на:
USER=sameek
USERCMDS=/tmp/usercommands.$$
echo "JAVA_HOME=..." >>$USERCMDS
echo "PATH=\${JAVA_HOME}:\$PATH" >> $USERCMDS
echo "javac HelloWorld.java" >> $USERCMDS
chmod a+x $USERCMDS
su $USER -c $USERCMDS
Проблема с вашим сценарием в том, что строка su $USER
вызывает подоболочку, и поэтому следующая команда не будет выполнена до тех пор, пока эта оболочка не будет завершена.
Вы, вероятно, хотите сделать что-то похожее на:
USER=sameek
USERCMDS=/tmp/usercommands.$$
echo "JAVA_HOME=..." >>$USERCMDS
echo "PATH=\${JAVA_HOME}:\$PATH" >> $USERCMDS
echo "javac HelloWorld.java" >> $USERCMDS
chmod a+x $USERCMDS
su $USER -c $USERCMDS
Проблема с вашим сценарием в том, что строка su $USER
вызывает подоболочку, и поэтому следующая команда не будет выполнена до тех пор, пока эта оболочка не завершится.
Вы, вероятно, хотите сделать что-то похожее на:
USER=sameek
USERCMDS=/tmp/usercommands.$$
echo "JAVA_HOME=..." >>$USERCMDS
echo "PATH=\${JAVA_HOME}:\$PATH" >> $USERCMDS
echo "javac HelloWorld.java" >> $USERCMDS
chmod a+x $USERCMDS
su $USER -c $USERCMDS