在我的bash脚本中,我想更改名为“test.txt”的特定文件的文件权限,该文件位于:
"/var/www/tomcat7/dir1/test.txt"
我的问题是,如果我给这个文件的完整路径,我想更改所有目录的权限,如“var”,“www”,tomcat7“,”dir1“,最后”test .TXT”。
文件路径通过单独的文本文件作为命令行参数给出,这是我的代码,
setFilePErmission(){
ssh ppuser@10.101.5.91 "sudo chmod 777 $1"
}
setFilePErmission $1
任何人都可以帮助我吗?谢谢.... :)
答案 0 :(得分:1)
#!/bin/bash
setFilePErmission(){
i=$(echo "$1" | awk -F '/' '{print NF}')
y=$1
while [[ $i -gt 1 ]]
do
ssh ppuser@10.101.5.91 "sudo chmod 777 $y"
y=${y%/*}
(( i-- ))
done
}
setFilePErmission "your path goes here"
检查这是否适合您。
我仍然怀疑,为什么需要这样的权限..
请确保在运行此类内容时,因为一旦更改权限,除非您不记得每个文件权限,否则很难将它们转换为以前的值。