Список всех необязательных аргументов конкретной команды в bash

Вместо того, чтобы оставаться на более старой версии или заниматься другими аспектами, я решил использовать этот скрипт вместо маленькой иконки. Он выводит результат из команды dropbox status прямо на вашу панель. Однако, когда он синхронизируется или обновляется, имеется небольшая галочка или символ синхронизации.

Установите общий монитор, вставив в терминал следующее:

sudo apt-get install xfce4-genmon-plugin

Установите следующий сценарий для запуска с использованием плагина панели общего монитора. Я пошел без метки и установил, чтобы она запускалась каждые пять секунд.

#!/bin/bash

status=$(dropbox status)
if [ "$status" = "Up to date" ]; then
    echo "✔"
elif [[ "$status" == "Syncing"* ]] || [[ "$status" == "Indexing"* ]]  || [[ "$status" == "Downloading"* ]]; then
    echo "⟲"
else
    echo "$status"
fi

Вам нужно будет запустить следующее, чтобы он не показывал приглашение пароля (которое может быть проигнорировано в любом случае) при входе в систему:

sudo chown -R USER:GROUP ~/.dropbox

USER:GROUP обычно просто ваше имя пользователя дважды.

Когда мне нужно изменить параметр, я просто запустил Dropbox с sudo, чтобы изменить мои настройки. Как показано на этой странице, запуск с помощью sudo позволяет отображать маленькую иконку и меню.

Кроме того, вы можете повторить свой собственный значок или изображение Dropbox, если вы этого пожелаете. Если ваша командная строка Dropbox не работает, вы можете загрузить здесь скрипт python Dropbox. (В моем случае я не использую расширение * .py для имени сценария на Python Dropbox.)

6
задан 21 October 2017 в 16:17

4 ответа

Наилучший подход зависит от того, какую команду вы используете. Вы можете попробовать -h или --help, как предлагает steeldriver, хотя для некоторых команд, которые могут не отображать все доступные опции. В идеале все варианты будут показаны; даже тогда, однако, они могут не все объясняться. Официальная документация, такая как страница man или info, обычно показывает и объясняет все варианты - или, по крайней мере, все из них, которые разработчики ожидают от пользователей. (Иногда существуют недокументированные параметры.)

Сначала я рекомендую проверить, является ли команда steeldriver, предложением или встроенной оболочкой. Вы можете сделать это с помощью команды type. В man вы можете передать флаг -a в команду type, чтобы показать, что все запустились, если первое совпадение не было:

ek@Io:~$ type -a ls ls is aliased to `ls --color=auto' ls is /bin/ls

Для меня (и, вероятно, вы), ls является псевдонимом. Расширение псевдонима нерекурсивно, поэтому ls в ls --color=auto не использует псевдоним, но вместо этого использует второй список /bin/ls. Это shell builtin для исполняемого файла и, следовательно, внешняя команда.

Поэтому для просмотра документации по исполняемому файлу , включая все доступные опции, я будет работать man ls.

Некоторые случаи, такие как cat, просты:

ek@Io:~$ type -a cat cat is /bin/cat

Команды, встроенные в оболочку, обычно не имеют собственных страниц руководства , но вы можете использовать встроенный help, чтобы узнать о них:

ek@Io:~$ type -a history history is a shell builtin ek@Io:~$ type -a help help is a shell builtin

Таким образом, вы можете запустить help history, чтобы узнать о history или help help, чтобы узнать о help. [ ! d22]

Для некоторых встроенных функций, таких как compgen, встроенный help показывает вам все их параметры, но он не объясняет большинство из них. Всякий раз, когда вам нужна дополнительная информация о встроенной оболочке, вы можете обратиться к странице руководства для bash (man bash), или вы можете проконсультироваться с более длинной и более полной документацией, запустив info bash или cat . Вы можете найти раздел о встроенных особенностях.

Некоторые команды доступны как внешние исполняемые файлы, так и встроенные оболочки, что является другой причиной, по которой полезно использовать type -a:

ek@Io:~$ type -a printf printf is a shell builtin printf is /usr/bin/printf

Если вы запустите man printf, например, вам не будет показана какая-либо информация о опции -v, потому что /usr/bin/printf ее не поддерживает. Однако встроенная оболочка bash и текст отображаются при запуске списков help printf и объясняют это.

Наконец, для manpages полезно знать, что раздел о встроенных [ ! d25].

4
ответ дан 18 July 2018 в 04:54

Это отнюдь не универсально, но многие команды предоставляют резюме использования в ответ на аргумент -h или --help, например

$ cat --help Usage: cat [OPTION]... [FILE]... Concatenate FILE(s) to standard output. With no FILE, or when FILE is -, read standard input. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB --help display this help and exit --version output version information and exit Examples: cat f - g Output f's contents, then standard input, then g's contents. cat Copy standard input to standard output. GNU coreutils online help: <http://www.gnu.org/software/coreutils/> Full documentation at: <http://www.gnu.org/software/coreutils/cat> or available locally via: info '(coreutils) cat invocation'
10
ответ дан 18 July 2018 в 04:54

Наилучший подход зависит от того, какую команду вы используете. Вы можете попробовать -h или --help, как предлагает steeldriver, хотя для некоторых команд, которые могут не отображать все доступные опции. В идеале все варианты будут показаны; даже тогда, однако, они могут не все объясняться. Официальная документация, такая как страница man или info, обычно показывает и объясняет все варианты - или, по крайней мере, все из них, которые разработчики ожидают от пользователей. (Иногда существуют недокументированные параметры.)

Сначала я рекомендую проверить, является ли команда steeldriver, предложением или встроенной оболочкой. Вы можете сделать это с помощью команды type. В man вы можете передать флаг -a в команду type, чтобы показать, что все запустились, если первое совпадение не было:

ek@Io:~$ type -a ls ls is aliased to `ls --color=auto' ls is /bin/ls

Для меня (и, вероятно, вы), ls является псевдонимом. Расширение псевдонима нерекурсивно, поэтому ls в ls --color=auto не использует псевдоним, но вместо этого использует второй список /bin/ls. Это shell builtin для исполняемого файла и, следовательно, внешняя команда.

Поэтому для просмотра документации по исполняемому файлу , включая все доступные опции, я будет работать man ls.

Некоторые случаи, такие как cat, просты:

ek@Io:~$ type -a cat cat is /bin/cat

Команды, встроенные в оболочку, обычно не имеют собственных страниц руководства , но вы можете использовать встроенный help, чтобы узнать о них:

ek@Io:~$ type -a history history is a shell builtin ek@Io:~$ type -a help help is a shell builtin

Таким образом, вы можете запустить help history, чтобы узнать о history или help help, чтобы узнать о help. [ ! d22]

Для некоторых встроенных функций, таких как compgen, встроенный help показывает вам все их параметры, но он не объясняет большинство из них. Всякий раз, когда вам нужна дополнительная информация о встроенной оболочке, вы можете обратиться к странице руководства для bash (man bash), или вы можете проконсультироваться с более длинной и более полной документацией, запустив info bash или cat . Вы можете найти раздел о встроенных особенностях.

Некоторые команды доступны как внешние исполняемые файлы, так и встроенные оболочки, что является другой причиной, по которой полезно использовать type -a:

ek@Io:~$ type -a printf printf is a shell builtin printf is /usr/bin/printf

Если вы запустите man printf, например, вам не будет показана какая-либо информация о опции -v, потому что /usr/bin/printf ее не поддерживает. Однако встроенная оболочка bash и текст отображаются при запуске списков help printf и объясняют это.

Наконец, для manpages полезно знать, что раздел о встроенных [ ! d25].

4
ответ дан 24 July 2018 в 18:11

Это отнюдь не универсально, но многие команды предоставляют резюме использования в ответ на аргумент -h или --help, например

$ cat --help Usage: cat [OPTION]... [FILE]... Concatenate FILE(s) to standard output. With no FILE, or when FILE is -, read standard input. -A, --show-all equivalent to -vET -b, --number-nonblank number nonempty output lines, overrides -n -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank suppress repeated empty output lines -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB --help display this help and exit --version output version information and exit Examples: cat f - g Output f's contents, then standard input, then g's contents. cat Copy standard input to standard output. GNU coreutils online help: <http://www.gnu.org/software/coreutils/> Full documentation at: <http://www.gnu.org/software/coreutils/cat> or available locally via: info '(coreutils) cat invocation'
10
ответ дан 24 July 2018 в 18:11
  • 1
    --help принимает команду GNU; если из фона bsd / unix a -h чаще всего помогает, поэтому могут потребоваться две попытки. – guiverc 21 October 2017 в 16:46
  • 2
    В некоторых случаях, хотя параметр --help является недопустимым, использование в любом случае возвращает параметры. Например, lspci --help – chili555 21 October 2017 в 16:48

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

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