Tôi rất mới với việc viết kịch bản (một tuần sau) và đang thử một chương trình tạo sổ địa chỉ cho người dùng nơi họ có thể lưu thông tin chi tiết về bạn bè của mình.
Trước tiên, tôi yêu cầu người dùng đặt tên cho sổ địa chỉ của họ và tôi lưu trữ nó trong biến 'abname', sau đó tôi lấy thông tin đầu vào cần thiết từ người dùng và in nó trong tệp văn bản abname.txt
Sự cố của tôi: Làm cách nào để xóa bản ghi tương ứng với id mà người dùng đã cung cấp?
Đây là những gì tôi đã làm:
#!/bin/bash
id="1"
trong khi (đúng)
làm
echo -e "\nMenu\n1.Tạo Sổ địa chỉ mới\n2.Xem tất cả nội dung của sổ địa chỉ\n3.Chèn bản ghi mới\n4.Xóa bản ghi\n5.Sửa đổi bản ghi\n6.Thoát"
echo -e "\nNhập lựa chọn của bạn: "
đọc ch
echo -e "\nBạn đã chọn lựa chọn: $ch"
trường hợp $ch trong
1)
echo -e "\nNhập tên sổ địa chỉ"
đọc $abname;;
2)
echo -e "\nAddress Book: $abname" #tên của sổ địa chỉ không được in ở đây vì lý do nào đó
echo -e "\nID\t Tên\t Tuổi\t Địa chỉ"
con mèo $abname.txt;; #in tất cả nội dung của tệp
3)
echo -e "\nId Của Người là: $id"
echo -e "\nNhập tên người:"
đọc tên
echo -e "\nNhập tuổi: "
đọc tuổi
echo -e "\nNhập địa chỉ:"
đọc addr
printf "$id\t $name\t $age\t $addr\n" >> $abname.txt
id=$((id+1));;
4)
echo -e "\nNhập ID của người sẽ xóa bản ghi: "
đọc id
grep -v "$id" $abname.txt > $abname.txt
echo "Bản ghi đã bị xóa"
mèo abname.txt;;
5)
echo -e "\n Todo";;
6) thoát ra;;
*) echo -e"\nLựa chọn không hợp lệ";;
thoát hiểm
xong
Trợ giúp bổ sung: Nếu tệp abname.txt đã tồn tại, tôi muốn cập nhật biến 'id' cục bộ của mình tương ứng với id của người cuối cùng trong tệp văn bản, tôi đã thử làm điều này nhưng nó không hoạt động, tôi còn thiếu gì ở đây?
nếu [ -e $abname.txt ]
sau đó
nguồn <$abname.txt>
id = $id
fi