Где я могу узнать, как написать сценарий оболочки, который настолько портативен, насколько это возможно?

Возможный дубликат:
Ресурсы для программирования переносных оболочек

Я хочу написать сценарий оболочки, предназначенный для дальнейшего распространения. Поэтому я хотел бы написать его таким образом, чтобы он был максимально переносимым; под которым я подразумеваю, что он не должен полагаться на какие-либо причудливые вещи, которые доступны только в специфическом вкусе qzdfsh который я, возможно, установил на своей собственной машине. Сценарий не будет очень сложным (самое худшее, что ему нужно будет сделать, это расшифровать стриптизерсы и вернуть результаты из программ).

Где я могу узнать, какие вещи поддерживаются (почти) всеми оболочками?

(Мне особенно хорошо известно, что /bin/sh часто ассоциируется с символом «что-то еще», поэтому простое тестирование, которое оно работает с /bin/sh кажется сомнительной.)

В то время как /bin/sh может быть символической ссылкой на bash, это все еще имеет значение. Bash смотрит, как он вызывается, и если он вызывается как «sh», либо явно, либо посредством symlink, либо параметром / переключателем, bash будет пытаться действовать в режиме POSIX.

Таким образом, используя shebang

 #/bin/sh 

и запускать его как ./script или sh .script должно быть достаточно.