佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 通過shell腳本循環(huán)進(jìn)入目錄執(zhí)行命令的方法

通過shell腳本循環(huán)進(jìn)入目錄執(zhí)行命令的方法

熱門標(biāo)簽:鐵路電話系統(tǒng) 呼叫中心市場需求 服務(wù)外包 Linux服務(wù)器 AI電銷 百度競價排名 地方門戶網(wǎng)站 網(wǎng)站排名優(yōu)化

公司需要部署一套新的環(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項目都有好多,不可能每次一個個進(jìn)入項目的目錄設(shè)置權(quán)限,因此還是需要執(zhí)行shell腳本進(jìn)行操作。

第一次進(jìn)行操作的時候,進(jìn)入/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;       #進(jìn)入某個目錄
 if [ -d "www/App" ];then   
 cd www/App;      #進(jìn)入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

這樣操作后,還是有一定的不足,因為每次都必須要進(jìn)入/webserver目錄執(zhí)行,還有改進(jìn)的地方,可以在任何地方執(zhí)行,把上面代碼保存為shell腳本執(zhí)行即可。

因此改進(jìn)代碼如下:

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)進(jìn)入目錄執(zhí)行命令的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • shell在指定目錄下批量執(zhí)行sql腳本的實例
  • 使用Python生成Shell命令,批量執(zhí)行程序代碼解析
  • Shell腳本實現(xiàn)批量添加用戶
  • hive-shell批量命令執(zhí)行腳本的實現(xiàn)方法

標(biāo)簽:崇左 湘潭 仙桃 黃山 衡水 蘭州 銅川 湖南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《通過shell腳本循環(huán)進(jìn)入目錄執(zhí)行命令的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    郧西县| 桑日县| 揭东县| 措勤县| 阜南县| 昔阳县| 甘泉县| 芦溪县| 兴文县| 满洲里市| 酒泉市| 云安县| 武定县| 鹤山市| 宁化县| 潮州市| 安平县| 清丰县| 惠水县| 韩城市| 五家渠市| 沅江市| 卢氏县| 昌邑市| 浙江省| 南开区| 永川市| 张掖市| 石景山区| 安龙县| 曲松县| 宁都县| 攀枝花市| 新乡市| 宽甸| 绥芬河市| 蒲江县| 会理县| 叙永县| 景泰县| 赣州市|