こないだのFreeBSDの初期設定を、何時ぞやのLinuxの最初にこれくらいはやっとけスクリプトみたいにスクリプトにしようと思ってちょこちょこ作っていたものの、sedでエラーが出て途中で終わってたのだ。
何だか突然やる気になって調べてみたらこんなことで可能になった。
sed -i "s/^PermitRootLogin no/PermitRootLogin yes/" /etc/ssh/sshd_config sed: 1: "/etc/ssh/sshd_config": bad flag in substitute command: 'h'
こんな感じのエラーになっていたのだが。
sed -i "" s/^#PermitRootLogin\ no/PermitRootLogin\ yes/g /etc/ssh/sshd_config
これでいけた、ダブルクオテーションがいるみたい。
空白の前は円マークですの。
それでは実際に使ってみよう。
sudo cat /etc/ssh/sshd_config | grep "PermitRootLogin yes" PermitRootLogin yes sed -i "" s/PermitRootLogin\ yes/PermitRootLogin\ no/g /etc/ssh/sshd_config sudo cat /etc/ssh/sshd_config | grep "PermitRootLogin no" PermitRootLogin no
このとおり。
こんな感じでいけちゃいました。
これでスクリプト作成が捗るのじゃあ。
しばらくは前回に引き続いてユーザー権限でできるもん!シリーズをやろうかと思ってたけど、やっぱり明日の風は明日吹くのだ。
参考サイト
MY MCP FreeBSD sed -i Error “sed: 1: “FILE”: bad flag in substitute command: ‘.’ “