Я могу запустить скрипты Bash в FreeBSD, не изменяя их?

Если страницы все еще жалуются на недостающий флеш-плагин, это означает, что Вы не указали на свой браузер на установленную библиотеку. После того как браузер настроен, Скрежет должен использоваться для работы с содержанием Flash... Только это имеет действительно большие проблемы:/На основе моего собственного опыта, я помню, что это или отказывало или не работало с большинством страниц.

7
17.08.2017, 11:40
4 ответа

Можно назвать любимую оболочку со сценарием в качестве параметра.

bash ./script.sh
5
27.01.2020, 20:17
  • 1
    "Не хочет устанавливать Bash" - OP не хочет выполнять удар. –  Mat 05.08.2012, 16:01
  • 2
    хорошо, это мог быть zsh также, вот почему я записал "любимую оболочку" –  arved 05.08.2012, 16:48
  • 3
    , Но, не называя удар программы (или zsh) со сценарием как аргумент? В последнем средстве я мог сделать это, но ./filetoexecute.sh быстрее для записи, чем bash filetoexecute.sh или zsh filetoexecute.sh. Кроме того, Странный способ, которым Вы говорите это..., колотит./что-то... Никогда не видел, что кто-то использовал./в качестве аргумента –  user1115057 05.08.2012, 18:36
  • 4
    Другая опция состояла бы в том, чтобы изменить Вашу систему для установки zsh как/bin/sh. –  arved 05.08.2012, 19:19
  • 5
    @arved, Конечно, после того, как Вы удостоверились, что это изменение не повреждает системных сценариев. –  Kusalananda♦ 17.08.2017, 11:54

Я сам бегаю FreeBSD. Я обнаружил, что запуск скрипта со следующим значительно улучшает совместимость поперечной ОС:

#!/usr/bin/env bash
2
27.01.2020, 20:17

Если вы действительно хотите запустить письменный сценарий на основе Linux, используя / Bin / Bash в FreeBSD, не изменяя их, то вы можете просто скопировать / usr / local / Bin / Bash - / Bin / Bash на FreeBSD и он будет работать.

0
27.01.2020, 20:17

Вы просили поправить вас, когда вы были неправы. я попробую:

  • Linux-скрипты написаны на bash:Ну, некоторые написаны для bash, другие для dashи, надеюсь, их можно будет использовать в любой POSIX -совместимой оболочке.
  • Сценарий Bash обычно #!/bin/sh Если они полагаются на не -стандартные bashфункции, настоятельно рекомендуется иметь #!/bin/bashshebang
  • В GNU/Linux /bin/sh — это Bash Это зависит от дистрибутива. Например, это может быть dashили mkshв Debian.
  • Во FreeBSD /bin/sh — это не bash, а настоящий sh . Существует много shреализаций. Какой из них "верный"? Во FreeBSD shоснован на оболочке Almquist, такой как dashили NetBSD sh. В OpenBSD он основан на pdksh, во многих коммерческих Unices он основан на ksh88 (, который является основой для спецификации Unix/POSIX sh). Некоторые оболочки на основеksh88bashявляются единственными двумя оболочками, которые были сертифицированы как совместимые с Unix shреализации (при сборке с правильными флагами и в правильной среде ).

Если у вас есть скрипты с /bin/shshebang и вы хотите, чтобы они выполнялись с помощью zsh, вы можете попробовать передать скрипт zsh, но это не удастся, как только этот скрипт вызовет другой скрипт (и вы не хочу его изменять ).

Так что я вижу только возможность иметь символическую ссылку с /bin/shна ваш zsh. Но я не рекомендую делать это , так как это может сильно повлиять на время загрузки и даже не поможет вам для некоторых ваших скриптов Linux.

2
27.01.2020, 20:17

Теги

Похожие вопросы