2017-02-21 3 views
0

여기에 리눅스 상자가있어 내 컴퓨터에 공유 폴더를 설정했습니다. 거기에 문제가 없으며 의도 한대로 작동합니다. 그러나, 나는 같은 디렉토리를 사용하는 bash 스크립트를 실행하는 것에 대해 생각했고 그것이 내 루트를 찾지 못하는 것 같았다. 공유 폴더에서 이렇게mkdir : 디렉토리를 만들 수 없습니다. 해당 파일 또는 디렉토리가 없습니다. - cifs windows 공유 폴더

now=$(date +"%Y-%m-%d") 
#or: `now=$(date +%s)` if you back up more than once a day 

mkdir /__backup/"$now" 

이 디렉토리 runningthese 명령을 찾을 수 없다는 나타납니다 : "."

echo "$0" 
dirname "$0" 

가 같은 주소를 보여줍니다

누구나이 프로그램을 실행하는 방법에 대한 아이디어가 있습니까?

+0

확실히 아닙니다. 그냥 대신 문자열을 출력합니다. –

+0

** [Linux 용 Windows 서브 시스템] (https://msdn.microsoft.com/en-us/commandline/wsl/install_guide) **을 선택하면 AFAICT – Blacksilver

+0

와 동일한 작업을 수행합니다. 다른. 나는 리눅스 측에서 자동화 된 스크립트를 실행하려고한다. 창문 안. –

답변

0

당신은 일을 :

#!/bin/bash 
now=`date "+%Y-%m-%d"` 
mkdir "/__backup/$now" 

그래서이 유일한 작품 /__backup/가있는 경우. 수행 : 당신이 검사 할 수 있도록

물론
#!/bin/bash 
now=`date "+%Y-%m-%d"` 
mkdir -p "/__backup/$now" # -p creates parent directories as needed (see man mkdir) 

#Optional: change directory to the one you just created: 
cd /__backup/$now 

, 당신은 /에 디렉토리를 만들기 위해 루트가 필요합니다. 당신이 ~__backup을 만들 경우

if [ `whoami` = "root" ]; then 
    # You are root... 
else 
    echo "Error: Only root can do that." 
    exit 1 
fi 

당신은 뿌리를 필요로 전체 문제를 방지 할 수 있습니다. __backup.backup으로 이름을 변경하여 숨길 수도 있습니다.

+1

또는'mkdir -p ... '를 사용하십시오. –

+0

글쎄, 당신은 매일 새로운 것을 배웁니다. 편집 중 ... – Blacksilver

+0

'mkdir : 디렉토리를 만들 수 없습니다. '/ __ 백업/02_21_17 \ r \ r': 해당 파일이나 디렉토리가 없습니다. '' '' 아직도 나에게 적합하지 않습니다. –

관련 문제