Bash 스크립트의 chmod 문제

Bash 스크립트의 chmod 문제

드라이브 포맷, 권한 설정(777), 파일 복사, 권한 변경(555), 극장 DCP에서 드라이브 마운트 해제 및 꺼내기 등의 스크립트가 있습니다. 지금까지는 모든 것이 잘 작동하지만 chmod에 문제가 있습니다. 해당 파일이 원본 드라이브에서 대상 드라이브로 적절한 권한으로 복사되었으므로 오류가 무엇인지 잘 모르겠습니다. 스크립트와 출력은 다음과 같습니다.

스크립트

#! /bin/bash

#Format Drive

sudo umount /dev/sda1 
sudo parted -s /dev/sda mktable msdos 
sudo parted /dev/sda mkpart primary ext3 1 100% 
sudo wipefs -a /dev/sda1 
sudo mkfs.ext3 -I 128 -L "DCP" /dev/sda1

#Update /etc/fstab

sudo mount -a

#Mount Drive

sudo mount /dev/sda1 /media/mynamehere/

#Set Permissions

sudo chmod -R 777 /media/mynamehere/DCP

#Copy Files to Target Drive

sudo rsync -av ~/Desktop/Source_Folder/ /media/mynamehere/DCP/

#Set Permissions

sudo chmod -R 555 /media/mynamehere/DCP

#Unmount Disk

sudo umount /dev/sda1

#Eject Disk

sudo eject /dev/sda1

산출

Information: You may need to update /etc/fstab.

mke2fs 1.43.5 (04-Aug-2017)                                               
Creating filesystem with 3931904 4k blocks and 983040 inodes
Filesystem UUID: 68e0a893-3fe8-4daf-8ba0-3d5a285903fc
Superblock backups stored on blocks: 
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done   

chmod: cannot access '/media/mynamehere/DCP': No such file or directory

sending incremental file list

created directory /media/mynamehere/DCP
./
ASSETMAP
CPL_DCP_SHR-2D_F-185_EN_51_2K_20180125_IOP_OV_a3b962d5-4e8d-46.xml
DCP_SHR-2D_F-185_EN_51_2K_20180125_IOP_OV_2707c99f-e757-44_j2c.mxf
DCP_SHR-2D_F-185_EN_51_2K_20180125_IOP_OV_fb719829-110f-4b_pcm.mxf
PKL_DCP_SHR-2D_F-185_EN_51_2K_20180125_IOP_OV_608bffb5-7d2d-49.xml
VOLINDEX

sent 1,117,023,702 bytes  received 185 bytes  248,227,530.44 bytes/sec
total size is 1,116,750,369  speedup is 1.00

답변1

출력에서:

chmod: cannot access '/media/mynamehere/DCP': No such file or directory

간단히 말해서, 디렉토리는 DCP사용자가 생성한 후에만 존재합니다(다음 줄에서 rsync 사용).

각 명령을 루트로 실행하므로 chmod 777미리 실행해도 아무런 영향을 미치지 않습니다(나머지 스크립트가 성공적으로 실행된다는 사실에서 알 수 있듯이).

관련 정보