Как я могу использовать клавиатуру хоста для "удаленного" сеанса SSH с планшетного компьютера?

Это частичный ответ, который работает в целом, но задыхается от специальных символов.

#!/bin/sh

case $1 in
  red)     col=$'\e[1;31m' ;;
  green)   col=$'\e[1;32m' ;;
  yellow)  col=$'\e[1;33m' ;;
  blue)    col=$'\e[1;34m' ;;
  magenta) col=$'\e[1;35m' ;;
  cyan)    col=$'\e[1;36m' ;;
esac

printf "%s" "${col}"

shift
eval $@

Использование

Предполагая, что он называется set-color, просто вызовите его с set-color red hostname.

Объяснение

  • Блок case определяет цвета, согласно ответу jasonwryan здесь.
  • Скрипт устанавливает этот цвет с помощью printf.
  • shift удаляет первый параметр, переданный в скрипт (то есть цвет).
  • eval $@ затем выполняет остальную часть скрипта.

Проблема

Проблема в том, что сценарий съедает escape-символы и кавычки. например если вы нормально выполнили.

grep "foo bar" file\ name

Тогда вам придется использовать

set-color red grep \"foo bar\" file\\ name

1
12.01.2016, 12:30
0 ответов

Теги

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