В чем разница между & ldquo; source & rdquo; и & ldquo;. & rdquo ;?

1 говорит, что отсутствует звуковой файл. Вы можете добавить его с помощью следующей команды:

  pactl upload-sample /usr/share/sounds/gnome/default/alerts/glass.ogg bell.ogg

Для постоянного решения добавьте команду в ~ / .xprofile

1
задан 18 July 2017 в 00:44

1 ответ

. является синонимом source в bash, но не в POSIX sh, поэтому вы должны использовать ., если ваш скрипт запущен / bin / sh. Обратите внимание, что bash утверждает, что работает как POSIX sh при вызове как / bin / sh, но принимает source без жалобы.

Это поведение укусило меня, скрипты, проверенные с bash как / bin / sh fail, например, при запуске под зоной.

41
ответ дан 25 May 2018 в 23:04
  • 1
    POSIX не ограничивает оболочку. POSIX просто говорит; оболочка должна поддерживать по крайней мере эту и эту функцию. Таким образом, оболочка POSIX может реализовать дополнительные функции, если реализованы те, которые описаны в POSIX. Когда shebang говорит #!/bin/sh, вы никогда не должны предполагать, что оболочка поддерживает все, кроме функций POSIX. pubs.opengroup.org/onlinepubs/9699919799/utilities/&hellip – geirha 10 February 2011 в 03:51
  • 2
    На вас может повлиять порядок поиска имен: unix.stackexchange.com/q/17815/8250 – Lekensteyn 16 July 2012 в 16:05
  • 3
    Этот ответ помог мне, так как sh часто используется в cron. – dfrankow 8 March 2013 в 20:25

Другие вопросы по тегам:

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