Tôi đang cố gắng đệ quy tạo thư mục thông qua ssh.
Thư mục / home / user / staging tồn tại. Nhưng người dùng không được phép đọc / về nhà . mkdir không biết nếu / home / user tồn tại và cố gắng tạo nó.
mkdir -p /home/user/staging/first/second/third/fourth/
mkdir: cannot create directory ‘/home/user’: Permission denied
Làm thế nào để bỏ qua thư mục này và tiếp tục tạo nơi người dùng có quyền?
Tôi đang cố gắng thực hiện nó với kịch bản của riêng tôi,
rec()
{
dir=$1
if [[ ! -e $dir ]]; then
echo "creating $dir"
newdir=$(echo $dir | sed 's:/[^/]*$::')
rec $newdir
mkdir $dir
fi
}
Vì một số lý do kiểm tra này không thành công nếu [[! -e $ dir]] và vòng lặp đi qua các thư mục hiện có và cuối cùng không tạo ra bất cứ điều gì.
Làm thế nào về cd'ing vào nhà của người dùng, sau đó tạo các thư mục tương đối?
—
Xen2050
nếu
—
danzel
user
không có quyền thực thi /home
, thì đây là hành vi dự kiến. Câu trả lời này về quyền truy cập thư mục có thể giúp bạn.
id
;ls -ld /home