Tôi đang cố tự động di chuyển các tệp từ thư mục sang thư mục mới mỗi đêm bằng cách sử dụng tập lệnh bash chạy từ AppleScript theo lịch biểu. Tôi đang cố gắng viết một kịch bản bash trên Mac OSX, và nó vẫn không thành công. Nói tóm lại đây là những gì tôi có (tất cả echo
s của tôi là để kiểm tra lỗi):Không thể đặt biến trong tập lệnh bash
#!/bin/bash
folder = "ABC"
useracct = 'test'
day = date "+%d"
month = date "+%B"
year = date "+%Y"
folderToBeMoved = "https://stackoverflow.com/users/$useracct/Documents/Archive/Primetime.eyetv"
newfoldername = "/Volumes/Media/Network/$folder/$month$day$year"
ECHO "Network is $network" $network
ECHO "day is $day"
ECHO "Month is $month"
ECHO "YEAR is $year"
ECHO "source is $folderToBeMoved"
ECHO "dest is $newfoldername"
mkdir $newfoldername
cp -R $folderToBeMoved $newfoldername
if [-f $newfoldername/Primetime.eyetv];
then rm $folderToBeMoved;
fi
Bây giờ vấn đề đầu tiên của tôi là tôi không thể thiết lập các biến ở tất cả. Ngay cả những người theo nghĩa đen, nơi tôi chỉ làm cho nó bằng một số chữ. Tất cả các echo
của tôi đều trống. Tôi không thể lấy ngày, tháng, hay năm, nó cũng trống rỗng.
Tôi gặp lỗi khi nói rằng -f không được tìm thấy.
Tôi gặp lỗi khi nói có một kết thúc không mong muốn của tệp.
tôi đã thực hiện các tập tin và đã làm một chmod u+x scriptname.sh
Tôi không chắc chắn lý do tại sao không có gì được làm việc ở tất cả. Tôi rất mới với kịch bản bash này trên OSX, và chỉ có kinh nghiệm với các cửa sổ vbscript. Bất kỳ trợ giúp sẽ là tuyệt vời, cảm ơn!
Bù ve trở lại là điều xấu (không thể làm tổ). Tôi muốn sử dụng $() bản thân mình. Nhưng 1 cho một câu trả lời tốt. – paxdiablo
@paxdiablo Tôi rất chậm khi học cách sử dụng '$()' bản thân mình, nhưng hơi khó để lập trình lại thói quen 15 tuổi. – Isaac
@Isaac: nó rất đáng giá. Tôi đã viết một kịch bản lint mà định kỳ thu thập thông tin '~/bin' và những kẻ lừa đảo về backticks. Xóa chúng! –