通過shell腳本循環(huán)進入目錄執(zhí)行命令的方法
公司需要部署一套新的環(huán)境,新環(huán)境里面好多項目,整體目錄結(jié)構(gòu)如為:/webserver/*
所有的項目都在webserver目錄下,其中有l(wèi)aravel和thinkphp項目的代碼。
laravel框架中, 根目錄下storage vendor bootstrap 目錄需要設(shè)置777權(quán)限。
thinkphp框架,根目錄App下Runtime目錄需要設(shè)置777權(quán)限。
因此相對應(yīng)的目錄結(jié)構(gòu)如下;
laravel框架的目錄結(jié)構(gòu)為:/webserver/aaa/www/storage,vendor,bootstrap
thinkphp框架目錄結(jié)構(gòu)為:/webserver/bbb/www/App/Runtime
laravel和thinkphp項目都有好多,不可能每次一個個進入項目的目錄設(shè)置權(quán)限,因此還是需要執(zhí)行shell腳本進行操作。
第一次進行操作的時候,進入/webserver/,然后執(zhí)行下面的代碼,可以實現(xiàn)設(shè)置laravel和thinkphp項目相應(yīng)的目錄權(quán)限為777。
thinkphp框架Runtime目錄批量設(shè)置777權(quán)限
for dir in `ls`; do #歷遍ls命令顯示目錄 cd $dir; #進入某個目錄 if [ -d "www/App" ];then cd www/App; #進入App目錄 chmod -R 777 Runtime; #設(shè)置權(quán)限 cd ../../../; #返回到webserver目錄 else #表示如果不存在App目錄,就直接返回webserver目錄 cd ../; #直接返回webserver目錄。 fi done #第三行注釋:檢測是否有App這個目錄,如果存在,繼續(xù)往下執(zhí)行。-d參數(shù)為檢測是否為目錄。同理,-f參數(shù)檢測是否為目錄, !-d 參數(shù)檢測目錄如果不存在,則執(zhí)行。 一些注釋同理
laravel框架 storage vendor bootstrap 目錄批量設(shè)置777權(quán)限
for dir in `ls`; do cd $dir; if [ -d "www/bootstrap" ];then cd www; chmod -R 777 storage vendor bootstrap; cd ../../; else cd ../; fi done
這樣操作后,還是有一定的不足,因為每次都必須要進入/webserver目錄執(zhí)行,還有改進的地方,可以在任何地方執(zhí)行,把上面代碼保存為shell腳本執(zhí)行即可。
因此改進代碼如下:
thinkphp框架Runtime目錄批量設(shè)置777權(quán)限
#/bin/sh pwd="/webserver" #初始化目錄 for dir in $(ls $pwd); do #循環(huán)目錄 cd $dir; if [ -d "www/App" ];then cd www/App; chmod -R 777 Runtime; cd ../../../; else cd ../; fi done
laravel框架 storage vendor bootstrap 目錄批量設(shè)置777權(quán)限
#/bin/sh pwd="/webserver" #初始化目錄 for dir in $(ls $pwd); do #循環(huán)目錄 cd $dir; if [ -d "www/bootstrap" ];then cd www; chmod -R 777 storage vendor bootstrap; cd ../../; else cd ../; fi done
以上這篇通過shell腳本循環(huán)進入目錄執(zhí)行命令的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
shell腳本中使用iconv實現(xiàn)批量文件轉(zhuǎn)碼的代碼分享
這篇文章主要介紹了shell腳本中使用iconv實現(xiàn)批量文件轉(zhuǎn)碼的代碼分享,本文提供了2個實現(xiàn)代碼和各自使用方法,需要的朋友可以參考下2014-08-08
Linux刪除指定字符串內(nèi)容及以前的字符串內(nèi)容\以后的字符串內(nèi)容(最新推薦)
這篇文章主要介紹了Linux刪除指定字符串內(nèi)容及以前的字符串內(nèi)容\以后的字符串內(nèi)容,本文給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-02-02

