Чтобы прочитать пароль, отключите эхо, прочитайте пароль, затем снова включите эхо.csh:
stty -echo
echo -n "Enter password: "
set password = $<
stty echo
Чтобы создать меню, просто отобразите выбор на экране, а затем прочитайте значение обратно.csh:
echo 1 first item
echo 2 second item
echo 3 third ...
echo -n "Enter Choice: "
set choice = $<
Эти же две задачи в bash:
Считать пароль:
echo -n "Enter password: "
read -s password
Создать меню:
select choice in "first item" "second item" "third..." do
test -n "$choice" && break;
done
Уведомлениекак чтение пароля и составление меню встроены в bash.В дополнение к простоте, некоторые обычные вещи, выполняемые в сценариях, невозможны в csh.Csh не разработан как язык сценариев.Гораздо проще использовать Bash, Python, Ruby, Perl или даже простой / bin / sh для написания сценариев в несколько строк.
Тем не менее, вот полный сценарий csh, показывающий пароль и методы меню:
#! /bin/csh
set PW="ok"
### Read Password
echo -n "enter passwd: "
stty -echo
set passwd = $<
stty echo
if ( "$passwd" == "$PW" ) then
echo Allrighty then!
else
echo "Try again. Use '${PW}'."
exit 1
endif
### Menu
@ i = 1
set items = (one two three four five six seven)
foreach item ( $items[*] )
echo "${i}) $item"
@ i = $i + 1
end
set choice = 0
while ( $choice < 1 || $choice > $#items )
echo -n "Select: "
set choice = $<
end
echo "You chose ${choice}: $items[$choice]"
Примечания
Хотя популярно дляинтерактивное использование благодаря многим инновационным функциям, csh никогда не был так популярен для написания сценариев [1]
1 Википедия