Я пишу сценарий в Linux, пока пользователь не нажмет кнопку «ноль», сценарий будет принимать имя файла и путь от dialog --input
(например, в следующем формате: /etc/bob
), затем он будет перечислять местоположениядля пользователя, чтобы выбрать с dialog --menu
.Затем пользователь выбирает элемент в меню, скрипт ищет файл, и, если файл существует, скрипт копирует выбранный файл в домашний каталог пользователя.
На данный момент он выбрасывает Error: Expected 2 arguments, found only 1
.
Сначала пользователь вводит количество файлов, которые он хочет найти, так что это число будет установлено на шаге цикла for
и в dialog --menu
как количество элементов ($nu
).Затем dialog --inputbox
берет местоположение пользователя и помещает его в loc
, затем в asd
;после этого в db
.В конце, dialog --menu
берет запись строки с head
и tail
из файла db
.
Работает для одного, иногда 2 или даже 4 элементов;но затем он останавливается
Даже когда я помещаю dialog --menu
из цикла for
, в цикл while
- это тоже не работает.
Как исправитьпроблема?
wh=1
while [ $wh -ne 0 ]
do
dialog --inputbox "Please enter numbers of FILE you want to search" 8 60 2>/tmp/num
nu=`cat /tmp/num`
for i in `seq -w 1 $nu` #((i=1;i<=nu;i++));do
dialog --title "Search File" --inputbox "Please enter File name and Location in following Format to search .. [EX. /etc/passwd" 8 60 2> loc #lo-$i
asd=`cat loc`
echo $asd >> db
dialog --menu "test" 15 50 $nu "1" `cat db | head -n 1`i "2" `cat db | head -n 2 | tail -n 1` "3" `cat db | head -n 3 | tail -n 2` 2>p 1>secl
done
done