尝试将条目追加到sshd.conf的最后一行,但是将其追加到上一行的末尾。
echo -e "DenyGroups $(echo ${admin_membership_ad_group} | cut -f2 -d= |cut -f1 -d,|awk '{print tolower($0)}')" >> /etc/ssh/sshd.conf
和
echo "\nDenyGroups $(echo ${admin_membership_ad_group} | cut -f2 -d= |cut -f1 -d,|awk '{print tolower($0)}')" >> /etc/ssh/sshd.conf
期望:
Lastline
DenyGroups somegroup
结果:
LastlineDenyGroups somegroup
答案 0 :(得分:1)
使用GNU sed:
sed -i '$a DenyGroups '"${admin_membership_ad_group}" /etc/ssh/sshd.conf
$
:指的是最后一行
a
:附加
答案 1 :(得分:0)
在您的上一个命令中,您忘记了-e
,请参见以下测试:
$ # Create test file
$ echo -n LastLine > tst
$ # See what happens if you forget -e
$ echo -n '\n + echo without -e' >> tst
$ # Now add -e
$ echo -e "\nDenyGroups $(echo admin_membership_ad_group)" >> tst
$ # See the results
$ cat tst
LastLine\n + echo without -e
DenyGroups admin_membership_ad_group
请注意,在其他shell中,内置echo
的行为有所不同。例如,在zsh
中,即使不指定\n
选项,也会发生-e
的扩展。