报错代码
binary operator expected
解决方法
将 if 判断中的变量,打上双引号 “”””
将以下内容:
......
if [ -z $1 ];then
......
修改为:
......
if [ -z "$1" ];then
......
(补充:这里以给 $1 变量打上双引号 “””” 为例)
binary operator expected
将 if 判断中的变量,打上双引号 “”””
将以下内容:
......
if [ -z $1 ];then
......
修改为:
......
if [ -z "$1" ];then
......
(补充:这里以给 $1 变量打上双引号 “””” 为例)
(步骤略)
# sudo su - postgres -c "psql -d foreman -c 'select label,count(label),state,result from foreman_tasks_tasks where state <> '\''stopped'\'' group by label,state,result ORDER BY label;'"
label | count | state | result
------------------------------------------------------+-------+-----------+---------
Actions::Katello::ContentView::Publish | 1 | paused | error
......
(补充:从这里可以看出运行结果是错误的任务标签是 Actions::Katello::ContentView::Publish)
# foreman-rake foreman_tasks:cleanup TASK_SEARCH='label = Actions::Katello::ContentView::Publish' STATES='paused' VERBOSE=true
(补充:这里以强制停止标签为 Actions::Katello::ContentView::Publish 的任务为例)
# mount
# mount | grep /tmp
(补充:这里以查看 /tmp 目录的挂载状态为例)
# mount -o remount,nosuid,nodev,noexec /dev/shm
(
补充:
1) 这里以带 nosuid、nodev 和 noexec 参数重新挂载 /dev/shm 目录为例
2) 如果挂载的目录已经有了 nosuid、nodev 和 noexec 参数,但是想要取消这些参数,则在这里可以使用 suid、dev 和 exec 参数
)
# vim /etc/fstab
添加以下内容:
......
tmpfs /dev/shm tmpfs defaults,nosuid,nodev,noexec 0 0
(
补充:
1) 这里以带 nosuid、nodev 和 noexec 参数重新挂载 /dev/shm 目录为例
2) 如果挂载的目录已经有了 nosuid、nodev 和 noexec 参数,但是想要取消这些参数,则在这里可以使用 suid、dev 和 exec 参数
)
如果是虚拟机:
# dmidecode -s system-product-name
VMware7,1
(补充:从输出结果可以看出此为 VMware7,1 虚拟机)
或者:
# systemd-detect-virt
vmware
(补充:从输出结果可以看出此为 vmware 虚拟机)
如果是物理机:
# dmidecode -s system-product-name
PowerEdge R940
(补充:从输出结果可以看出此为 PowerEdge R940 物理机)
或者:
# systemd-detect-virt
none
(补充:从输出结果可以看出此为物理机)
# cat /etc/group
(注意:此方法并不能显示出把这些所属组当作主要所属组的用户)
# for i in `cat /etc/passwd | egrep -v "nologin$|false$|half|sync|shutdown|halt" | awk -F: '{print $1}'`; do id $i; done | sort -k2
(补充:可以通过肉眼比对此命令的输出结果来判断其主要所属组和附属所属组)