매일 밤 AppleScript에서 실행되는 bash 스크립트를 사용하여 매일 밤 새 폴더로 파일을 자동으로 이동하려고합니다. Mac OSX에서 bash 스크립트를 작성하려고하는데 실패하고 있습니다.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
지금 내 첫 번째 문제는 내가 전혀 변수를 설정할 수 없다는 것입니다 : 즉 이것은 내가 무엇을 (내 모든 echo
의 오류 검사를위한)입니다. 심지어 문자 그대로 문자 그대로 평범한 문자 그대로입니다. 내 echo
전체가 비어 있습니다. 나는 일, 달, 또는 년 중 하나를 움켜 잡을 수 없다, 그것은 또한 공백으로 나온다.
-f를 찾을 수 없다는 오류가 발생합니다.
예기치 않은 파일 끝에 오류가 있다는 메시지가 나타납니다.
나는 파일을 만든 것도 전혀 작동하지 않습니다 이유는 확실하지 해요chmod u+x scriptname.sh
했다. 나는 OSX에서이 bash 스크립트를 처음 접했을 뿐이며 windows vbscript에 대한 경험이있다. 어떤 도움이라도 좋을 것입니다, 고마워요!
백 틱이 악조 (중첩되지 않음)입니다. 나는 $()를 사용했다. 그러나 좋은 대답은 +1. – paxdiablo
@paxdiablo 나는 천천히'$()'를 사용하는 법을 배우고 있지만, 15 세의 습관을 재 프로그래밍하는 것은 약간 어렵다. – Isaac
@Isaac : 그만한 가치가 있습니다. 필자는 주기적으로'~/bin'과 backticks에 대한 yammers를 크롤링하는 lint 스크립트를 작성했습니다. 그 (것)들을 삭제하십시오! –