LINUX.ORG.RU
ФорумAdmin

условие для tcsh

 ,


0

1

В текущем bash скрипте есть условие, проверяющее в наличии локального ssh ключа на удаленном сервере:

if [ -z \"\$(grep \"$KEY\" ~/.ssh/authorized_keys )\" ];

оно нормально срабатывает если на удаленном сервере bash, а если
tcsh на удаленном сервере - появляется сообщение

Illegal variable name.

Как можно изменить условие, чтобы оно корректно отрабатывало в tcsh?

Ты хочешь универсальный скрипт для tcsh и bash? Они слишком разные, чтобы такое было возможно.
В tcsh, если память мне не изменяет можно сделать вот так

grep $KEY ~/.ssh/authorized_keys
if ( $status == 0 ) then
echo "found"
endif

adn ★★★★
()
Ответ на: комментарий от adn

спасибо! может я просто потом предварительную проверку буду делать в скрипте типа:

if env | grep sh = tcsh; then...
else ....
zorinquen
() автор топика

Возьми sh и не парься.

АП: как сказали раньше…

PunkoIvan ★★★★
()
Последнее исправление: PunkoIvan (всего исправлений: 1)
Ответ на: комментарий от adn

да, спасибо, так и поступил - с sh всё получилось…

zorinquen
() автор топика

Или прописывай пути Явно.

Bootmen ☆☆☆
()

Ничем кроме баша и zsh не пользовался, какие у tcsh есть перед ними преимущества? Расскажите,плиз,кому не влом)

d09
()
Ответ на: комментарий от iZEN

Для не-программиста это не аргумент. Не знаю,меня баш устраивает. Игрался с zsh, но кроме часов в реальном времени в промпте польезного для себя не обнаружил )

d09
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.