sudo ./schema.pg.sh
/sql 디렉토리의 명령을 사용하여 ./schema.pg.sh 파일을 실행합니다 . 그러나 터미널에서 오류가 발생합니다.
could not change directory to "/sql": Permission denied
내가 실행 중인 스크립트:
echo -n "you are running $0 type yes to continue: "
read -r answer
[ "$answer" != "yes" ] && exit
cat schema.pg.sql | sudo -u postgres psql
이 명령으로 인해 오류가 발생한다는 것을 알았습니다.
sudo -u postgres psql
하지만 원인을 찾고 오류를 수정하기에는 내 지식이 충분하지 않습니다.
Сcommand는 ls -l sql/
다음과 같은 권한을 표시합니다.
-rw-rw-rw- 1 alex alex 127823 июн 25 17:58 data.sql
-rw-rw-rw- 1 alex alex 426 июн 25 17:58 drop.sql
-rwxrwxrwx 1 alex alex 67 июн 25 17:58 dump.sh
-rwxrwxrwx 1 alex alex 204 июн 25 17:58 reload.demo.sh
-rwxrwxrwx 1 alex alex 155 июн 25 17:58 reload.sh
-rwxrwxrwx 1 alex alex 475 июн 25 17:58 reset.sh
-rwxrwxrwx 1 alex alex 168 июн 25 17:58 schema.demo.sh
-rwxrwxrwx 1 alex alex 140 июн 25 17:58 schema.pg.sh
-rwxrwxrwx 1 alex alex 192 июн 25 17:58 schema.pg.sql
-rw-rw-rw- 1 alex alex 641 июн 25 17:58 triggers.sql
명령은 ls -ld /sql
다음과 같은 출력을 제공합니다.
drwxrwxrwx 2 alex alex 4096 июн 25 17:58 sql/
나는 sudo chmod +x /sql
and를 사용했지만 sudo chmod +x schema.pg.sh
권한은 변경되지 않았습니다. 그리고 명령 출력을 입력하면 다음과 같습니다 mount | grep $(df -P /sql | awk 'NR==2{print $1}') | awk '$0=$5'
.
ext4