
bash 스크립트에서 쉽게 사용할 수 있는 도구가 있는지 궁금합니다.조종하다(추가, 제거, 업데이트) conf 파일 내부의 지시어?
예를 들어, failure2ban.conf에는 각각 자체 섹션 아래에 그룹화된 지시문이 있습니다.
[proftpd]
enabled = true
port = ftp,ftp-data,ftps,ftps-data
[postfix]
enabled = true
port = smtp,465,submission
반면 pagespeed.conf에는 혼합된 지시문이 있으며 일부는 자체 섹션에 있고 일부는 전체에 배열되어 있습니다.
<Location /pagespeed_admin>
Order allow,deny
Allow from localhost
Allow from 127.0.0.1
SetHandler pagespeed_admin
</Location>
<Location /pagespeed_global_admin>
Order allow,deny
Allow from localhost
Allow from 127.0.0.1
SetHandler pagespeed_global_admin
</Location>
ModPagespeedMessageBufferSize 100000
ModPagespeedStatisticsLogging on
ModPagespeedEnableCachePurge on
ModPagespeedPurgeMethod PURGE
ModPagespeedFileCacheSizeKb 2048000
ModPagespeedFileCacheCleanIntervalMs 3600000
ModPagespeedFileCacheInodeLimit 500000
당신은 아이디어를 얻습니다.
다음과 같은 작업을 수행할 수 있는 도구가 있습니까? 예를 들어, fall2ban.conf의 'proftpd' 섹션에 있는 'enabled' 지시문을 조작할 수 있습니까?
아니면 pagespeed.conf의 'Location /pagespeed_admin' 섹션에서 'Allow from' 지시문을 조작하시겠습니까?
아니면 pagespeed.conf의 '특정 항목 없음' 섹션에서 'ModPagespeedMessageBufferSize' 지시어를 조작하시겠습니까?
감사해요
답변1
아니요, 구성 파일이 사용할 수 있는 형식이 너무 많기 때문입니다. 내 생각에 당신이 할 수 있는 최선의 방법은 텍스트 처리 도구를 사용하여 직접 작업하는 것입니다.
일부 형식(예: JSON)에 대한 라이브러리가 있을 수 있지만 도구 작성자는 원하는 형식을 자유롭게 사용할 수 있으므로 일반적인 도구는 불가능합니다. 요점을 설명하기 위해 다음은 몇 가지 conf 파일의 몇 줄입니다.
이맥스
;; Are we running XEmacs or Emacs? (defvar running-xemacs (string-match "XEmacs\\|Lucid" emacs-version)) ;; disable menu bar when running in terminal (when (not (display-graphic-p)) (menu-bar-mode -1)) ;;My libraries, ebib, wordcount etc (add-to-list 'load-path "~/.emacs-lisp/")
vi
highlight Normal guibg=grey90 highlight Cursor guibg=Green guifg=NONE highlight lCursor guibg=Cyan guifg=NONE highlight NonText guibg=grey80 highlight Constant gui=NONE guibg=grey95 highlight Special gui=NONE guibg=grey95
색조
#--------------------------------------------- # BACKGROUND AND BORDER #--------------------------------------------- # general panel settings rounded = 7 border_width = 2 #background_color = #B4B2B2 10 background_color = #000000 30 border_color = #8F0004 0
vlc
# Trigger button (string) #gestures-button=left [motion] # motion control interface [oldrc] # Remote control interface # Show stream position (boolean) rc-show-pos=0
SSHD
AuthorizedKeysFile .ssh/authorized_keys ChallengeResponseAuthentication no UsePAM yes
기타 등등
답변2
실제로는 아니지만 특정 구성 레이아웃에 맞게 무언가를 구축할 수 있습니다. 다음과 같은 것
sed -E "/\[proftpd]/,/\[/{s/(enabled\s*=\s*).*/\1false/}" input.file
예를 들어, failure2ban.conf를 변경하는 기능으로 설계할 수 있습니다.
흥미롭다면 확장할 수 있습니다.