pressly / sup

Super simple deployment tool - think of it like 'make' for a network of servers
https://pressly.github.io/sup
MIT License
2.48k stars 178 forks source link

Remote depends on GNU/Bash #59

Open juergenhoetzel opened 8 years ago

juergenhoetzel commented 8 years ago

Part of local issues are fixed in 3862ab77a7eef396ae0ddb74db1b74f5270950aa, but if remote target is a FreeBSD-System:

freebsd@rpi2:22 | export: Command not found.
freebsd@rpi2:22 | export: Command not found.
VojtechVitek commented 8 years ago

@juergenhoetzel is your default shell TCSH?

juergenhoetzel commented 8 years ago

@VojtechVitek yes, TCSH is the default Shell on FreeBSD

IMHO the best solution would be to just rely on POSIX features

pkieltyka commented 8 years ago

agreed on replying only on POSIX commands

VojtechVitek commented 8 years ago

hmm........ this is tricky, since export VAR=val actually exports the var to all child processes

I guess I could use set or setenv instead but there might be hidden edge cases.

juergenhoetzel commented 8 years ago

agreed on replying only on POSIX commands

Actually export=is valid POSIX. Invoking /bin/shexplicitly could be used to enforce evaluation using a POSIX shell, whether or not the users account is set to a POSIX shell

VojtechVitek commented 8 years ago

@juergenhoetzel can you verify that your FreeBSD system doesn't have TCSH on /bin/sh path?

juergenhoetzel commented 8 years ago

@juergenhoetzel can you verify that your FreeBSD system doesn't have TCSH on /bin/sh path?

I can confirm. /bin/sh is always the default POSIX sh: https://www.freebsd.org/cgi/man.cgi?query=sh&sektion=&n=1

pkieltyka commented 8 years ago

yea.. you can definitely expect any POSIX OS to have /bin/sh

VojtechVitek commented 8 years ago

Might be solved by #77.