Tôi đã tìm kiếm câu trả lời cho câu trả lời này nhưng không thể tìm thấy câu trả lời.tự xóa tập lệnh shell
Tôi đã viết một kịch bản đơn giản thực hiện cài đặt máy chủ ban đầu và tôi muốn nó tự xóa/hủy liên kết khỏi thư mục gốc khi hoàn thành. Tôi đã thử một số giải pháp tôi googled (ví dụ/bin/rm $ test.sh) nhưng kịch bản luôn luôn có vẻ vẫn còn tại chỗ. Điều này có thể không? Dưới đây là kịch bản của tôi cho đến nay.
#! /bin/bash
cd /root/
wget -r -nH -np --cut-dirs=1 http://myhost.com/install/scripts/
rm -f index.html* *.gif */index.html* */*.gif robots.txt
ls -al /root/
if [ -d /usr/local/psa ]
then
echo plesk > /root/bin/INST_SERVER_TYPE.txt
chmod 775 /root/bin/*
/root/bin/setting_server_ve.sh
rm -rf /root/etc | rm -rf /root/bin | rm -rf /root/log | rm -rf /root/old
sed -i "75s/false/true/" /etc/permissions/jail.conf
exit 1;
elif [ -d /var/webmin ]
then
echo webmin > /root/bin/INST_SERVER_TYPE.txt
chmod 775 /root/bin/*
/root/bin/setting_server_ve.sh
rm -rf /root/etc | rm -rf /root/bin | rm -rf /root/log | rm -rf /root/old
sed -i "67s/false/true/" /etc/permissions/jail.conf
break
exit 1;
else
echo no-gui > /root/bin/INST_SERVER_TYPE.txt
chmod 775 /root/bin/*
/root/bin/setting_server_ve.sh
rm -rf /root/etc | rm -rf /root/bin | rm -rf /root/log | rm -rf /root/old
sed -i "67s/false/true/" /etc/permissions/jail.conf
break
exit 1;
fi
Nếu bạn định chơi kịch bản tự xóa, bạn phải đảm bảo bạn có bản sao lưu ở đâu đó mỗi lần trước khi thử nghiệm. Hoặc bạn có thể thay thế 'rm' bằng' $ {RM: -/bin/rm} 'để thử nghiệm. Mã của bạn đường dẫn 'rm' kết quả đầu ra vào lệnh' rm' tiếp theo là khá lạ; 'rm' không đọc từ đầu vào tiêu chuẩn trừ khi nó tương tác (nó sẽ không có' -rf'), cũng không ghi vào đầu ra tiêu chuẩn. Sự lặp lại là xấu. Và không có cách nào tôi muốn bạn loại bỏ các công cụ từ '/ root' trên máy của tôi. Ngoài ra, hãy kiểm tra xem các tác phẩm 'cd/root /'; 'cd/root/|| thoát 1'. –
Xin chào Jonathan. Cảm ơn rất nhiều phản hồi của bạn. Như bạn có thể nói, tôi khá mới mẻ với tất cả điều này. Tôi đã thực hiện một sai lầm thực sự cơ bản với vị trí của phần testmsh rm nhưng nó hoạt động tốt ngay bây giờ. Cũng sửa chữa lệnh rm. Cảm ơn một lần nữa! – RFH
Tại sao bạn cần xóa tập lệnh này? Ví dụ, nếu đó là một lần bạn chạy trên máy chủ từ xa, bạn có thể chạy 'ssh host
l0b0