Скрипт запускается, когда я набираю его в терминале, но не когда я запускаю его из файла .sh

После запуска компьютера вам нужно перейти в режим одиночного пользователя или режим восстановления, удерживая кнопку переключения. Затем вы можете перейти в корневую оболочку, поэтому ваша домашняя папка будет / root, а не / home / username. Здесь вы можете свободно размонтировать раздел / home и делать все, что хотите. Используйте резервный CD / USB для создания резервной копии.
1
задан 28 June 2012 в 04:14

15 ответов

Команда [ не имеет оператора ==. Баш позволяет это, но черта будет съеживаться. Правильный оператор для использования - =. У сценария, который вы разместили в своем вопросе, нет шебанга, поэтому он, вероятно, будет запущен sh. Итак:

#!/bin/sh
mkdir -p "$HOME/Desktop/ITRAN"
if [ "$DESKTOP_SESSION" = gnome-classic ]; then
    docky
fi

В любом случае, если это не удастся, вы, скорее всего, найдете сообщения об ошибках в ~/.xsession-errors, так что поищите подсказки.

4
ответ дан 25 July 2018 в 18:17

Команда [ не имеет оператора ==. Баш позволяет это, но черта будет съеживаться. Правильный оператор для использования - =. У сценария, который вы разместили в своем вопросе, нет шебанга, поэтому он, вероятно, будет запущен sh. Итак:

#!/bin/sh
mkdir -p "$HOME/Desktop/ITRAN"
if [ "$DESKTOP_SESSION" = gnome-classic ]; then
    docky
fi

В любом случае, если это не удастся, вы, вероятно, найдете сообщения об ошибках в ~/.xsession-errors, так что поищите подсказки.

4
ответ дан 2 August 2018 в 00:30

Команда [ не имеет оператора ==. Баш позволяет это, но черта будет съеживаться. Правильный оператор для использования - =. У сценария, который вы разместили в своем вопросе, нет шебанга, поэтому он, вероятно, будет запущен sh. Итак:

#!/bin/sh
mkdir -p "$HOME/Desktop/ITRAN"
if [ "$DESKTOP_SESSION" = gnome-classic ]; then
    docky
fi

В любом случае, если это не удастся, вы, скорее всего, найдете сообщения об ошибках в ~/.xsession-errors, так что поищите подсказки.

4
ответ дан 4 August 2018 в 15:59

Команда [ не имеет оператора ==. Баш позволяет это, но черта будет съеживаться. Правильный оператор для использования - =. У сценария, который вы разместили в своем вопросе, нет шебанга, поэтому он, вероятно, будет запущен sh. Итак:

#!/bin/sh
mkdir -p "$HOME/Desktop/ITRAN"
if [ "$DESKTOP_SESSION" = gnome-classic ]; then
    docky
fi

В любом случае, если это не удастся, вы, вероятно, найдете сообщения об ошибках в ~/.xsession-errors, так что поищите подсказки.

4
ответ дан 6 August 2018 в 00:37

Команда [ не имеет оператора ==. Баш позволяет это, но черта будет съеживаться. Правильный оператор для использования - =. У сценария, который вы разместили в своем вопросе, нет шебанга, поэтому он, вероятно, будет запущен sh. Итак:

#!/bin/sh
mkdir -p "$HOME/Desktop/ITRAN"
if [ "$DESKTOP_SESSION" = gnome-classic ]; then
    docky
fi

В любом случае, если это не удастся, вы, вероятно, найдете сообщения об ошибках в ~/.xsession-errors, так что поищите подсказки.

4
ответ дан 7 August 2018 в 18:03

Команда [ не имеет оператора ==. Баш позволяет это, но черта будет съеживаться. Правильный оператор для использования - =. У сценария, который вы разместили в своем вопросе, нет шебанга, поэтому он, вероятно, будет запущен sh. Итак:

#!/bin/sh
mkdir -p "$HOME/Desktop/ITRAN"
if [ "$DESKTOP_SESSION" = gnome-classic ]; then
    docky
fi

В любом случае, если это не удастся, вы, скорее всего, найдете сообщения об ошибках в ~/.xsession-errors, так что поищите подсказки.

4
ответ дан 10 August 2018 в 06:50

Команда [ не имеет оператора ==. Баш позволяет это, но черта будет съеживаться. Правильный оператор для использования - =. У сценария, который вы разместили в своем вопросе, нет шебанга, поэтому он, вероятно, будет запущен sh. Итак:

#!/bin/sh
mkdir -p "$HOME/Desktop/ITRAN"
if [ "$DESKTOP_SESSION" = gnome-classic ]; then
    docky
fi

В любом случае, если это не удастся, вы, скорее всего, найдете сообщения об ошибках в ~/.xsession-errors, так что поищите подсказки.

4
ответ дан 15 August 2018 в 18:47
  • 1
    Теперь он работает независимо от того, какой DE я бегу ... – utsuro 28 June 2012 в 03:40
  • 2
    @utsuro, Ну, он запускается только в том случае, если DESKTOP_SESSION содержит gnome-classic, так что я бы рассмотрел две вещи. 1. Убедитесь, что у вас нет других скриптов, запускающих docky (как предыдущая попытка этого скрипта). 2. Убедитесь, что для DESKTOP_SESSION действительно заданы разные значения для разных DE. (Используя сеанс по умолчанию (с единицей) в моей установке 12.04, для DESKTOP_SESSION здесь установлено значение ubuntu) – geirha 28 June 2012 в 04:47
  • 3
    Да, я сначала проверил его в gnome-classic, и он запустился, а затем Docky сделал запись в списке приложений для запуска -____- Хотя я отключил это ... – utsuro 29 June 2012 в 06:14

Убедитесь, что ваш скрипт начинается с:

#!/bin/sh

Кроме того, убедитесь, что ваш скрипт выполним:

chmod a+x path/to/your/script.sh
0
ответ дан 25 May 2018 в 09:36
  • 1
    В моем посте я сказал, что изменил разрешение – utsuro 28 June 2012 в 03:44

Убедитесь, что ваш скрипт начинается с:

#!/bin/sh

Кроме того, убедитесь, что ваш скрипт исполняемый:

chmod a+x path/to/your/script.sh
0
ответ дан 25 July 2018 в 18:17

Убедитесь, что ваш скрипт начинается с:

#!/bin/sh

Кроме того, убедитесь, что ваш скрипт исполняемый:

chmod a+x path/to/your/script.sh
0
ответ дан 2 August 2018 в 00:30

Убедитесь, что ваш скрипт начинается с:

#!/bin/sh

Кроме того, убедитесь, что ваш скрипт исполняемый:

chmod a+x path/to/your/script.sh
0
ответ дан 4 August 2018 в 15:59

Убедитесь, что ваш скрипт начинается с:

#!/bin/sh

Кроме того, убедитесь, что ваш скрипт исполняемый:

chmod a+x path/to/your/script.sh
0
ответ дан 6 August 2018 в 00:37

Убедитесь, что ваш скрипт начинается с:

#!/bin/sh

Кроме того, убедитесь, что ваш скрипт исполняемый:

chmod a+x path/to/your/script.sh
0
ответ дан 7 August 2018 в 18:03

Убедитесь, что ваш скрипт начинается с:

#!/bin/sh

Кроме того, убедитесь, что ваш скрипт исполняемый:

chmod a+x path/to/your/script.sh
0
ответ дан 10 August 2018 в 06:50

Убедитесь, что ваш скрипт начинается с:

#!/bin/sh

Кроме того, убедитесь, что ваш скрипт исполняемый:

chmod a+x path/to/your/script.sh
0
ответ дан 15 August 2018 в 18:47
  • 1
    В своем посте я сказал, что я изменил разрешение – utsuro 28 June 2012 в 03:44

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

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