小编msm*_*tic的帖子

如何只 grep 1 行中的某个单词?

我正在检查这一行ocredit的密码复杂性:/etc/pam.d/password-auth

password   requisite pam_pwquality.so try_first_pass retry=3 minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=1 gecoscheck=1
Run Code Online (Sandbox Code Playgroud)

我想 grep ocredit 值“1”并将其设置为变量,比方说check_ocredit

我的脚本将检查,如果 ocredit 值不为 0,则它将返回“true”,否则,它将显示 中设置的当前值是什么/etc/pam.d/password-auth

这是我要实现的逻辑:

if [[ $check_ocredit -ne "0" ]]
then
   true
else
   echo "Current ocredit value is : $check_ocredit"
fi
Run Code Online (Sandbox Code Playgroud)

输出将如下所示:

Current ocredit value is : 1
Run Code Online (Sandbox Code Playgroud)

我尝试:

grep ocredit /etc/pam.d/password-auth | awk '{print $10}' | awk -F "=" '{print $2}'
Run Code Online (Sandbox Code Playgroud)

但我在想,如果 ocredit 丢失了,或者它不在第 10 位怎么办……所以我的结果会是错误的。有人可以就此给我建议吗?

command-line bash

6
推荐指数
1
解决办法
4177
查看次数

标签 统计

bash ×1

command-line ×1