linuxfi命令 linuxfind命令的用法

Linux多台主机批量执行命令

指定一台主机作为信任主机,这样从这台主机登录其他机器就不需要密码了。

你所需要的网站建设服务,我们均能行业靠前的水平为你提供.标准是产品质量的保证,主要从事成都网站制作、成都网站建设、外贸营销网站建设企业网站建设、移动网站建设、网页设计、高端网站设计、网页制作、做网站、建网站。创新互联建站拥有实力坚强的技术研发团队及素养的视觉设计专才。

设置信任主机:

假设有四台机器:192.168.2.1~192.168.2.4,其中192.168.2.1为信任机,那么在192.168.2.1上运行如下命令:

$ssh-keygen -t rsa //此处一路回车,生成秘钥

$scp .ssh/id_rsa.pub 192.168.2.2:~/ //把秘钥拷贝到其他远程机器

$ssh 192.168.2.2 ‘cat id_rsa.pub .ssh/authorized_keys’ //(远程执行命令)在远程机器上生成认证文件

经过这几步,从192.168.2.1 ssh登陆192.168.2.2时,就不会再需要输入密码了。同样的步骤再执行3、4的极其。

文本文件hostlist可以如下

192.168.2.2

192.168.2.3

192.168.2.4

#!/bin/shdoCommand(){    

hosts=`sed -n'/^[^#]/p'hostlist`

for   host  in   $hosts

do

echo ""

echo  HOST$host

ssh  $host  "$@" 

done

return 0

}

if  [  $# -lt 1 ]

then

echo "$0cmd" exit 

fi

do  Command "$@"

echo "return from doCommand"

执行命令(记得先对doCommand.s

h增加执行权限 chmod u+x doCommand.sh)

./doCommand.sh “ls -al /root/”

这样该脚本就会在每台机器上执行”ls -al /root/”这个命令,并返回结果在信任主机上。

Linux里面shell里面fi是什么意思?

shell中的fi表示一个if语句的结尾,例如:

if [ command ];then

符合该条件执行的语句

elif [ command ];then

符合该条件执行的语句

else

符合该条件执行的语句

fi

linux 每个if都要搭配一个fi吗

每个if语句都要用fi结束,而且是每一个if都要对应一个fi。

整个if语句用fi闭合起来才算完整,书写时if和fi要垂直对齐以方便查看。

格式举例:

if  condition

then

command1

command2

fi

condition是判断条件,如果 condition 成立(返回“真”),那么 then 后边的语句将会被执行;如果 condition 不成立(返回“假”),那么不会执行任何语句。最后必须以fi来闭合,fi 就是 if 倒过来拼写,即使有多条语句也不需要用{ }包围起来。

扩展资料

shell if多条件的格式用法介绍

shell 支持任意数目的分支,当分支比较多时,可以使用 if elif else 结构,它的格式为:

if  condition1

then

statement1

elif condition2

then

statement2

elif condition3

then

statement3

else

statementn

fi

注意,if 和 elif 后边都得跟着 then。整条语句的执行逻辑为:

如果 condition1 成立,那么就执行 if 后边的 statement1;如果 condition1 不成立,那么继续执行 elif,判断 condition2。

如果 condition2 成立,那么就执行 statement2;如果 condition2 不成立,那么继续执行后边的 elif,判断 condition3。

如果 condition3 成立,那么就执行 statement3;如果 condition3 不成立,那么继续执行后边的 elif。

如果所有的 if 和 elif 判断都不成立,就进入最后的 else,执行 statementn。

linux提示[-f: 未找到命令

首先, [ 后面要有空格。

其次确认你的系统里有 test 命令,一般这个命令在 /usr/bin 下或者 /bin 下。 如果这个命令有,那么再确认在同目录下有 [ 命令 (如果没有 [ ,你可以 cp /path/to/test /path/to/[ ), [ 命令是 test 的一个别名。然后你的脚本应该就可以用了。

如果这两个命令都能找到,但是仍然不能运行脚本,说明你的 PATH 环境变量不对,可以在脚本里加上

PATH=$PATH:/path/to/xxx

其中 /path/to/xxx 是 test 和 [ 所在目录

linux if判断是不是数字

## 方法1

a=1234;echo "$a"|[ -n "`sed -n '/^[0-9][0-9]*$/p'`" ] echo string a is numbers

第一个-n是shell的测试标志,对后面的串"`sed -n '/^[0-9][0-9]*$/p'`" 进行测试,如果非空,则结果为真。

sed默认会显示所有输入行信息的,sed 的“-n”选项是让sed不要显示,而只显示我们所需要的内容:即后面的表达式所匹配的行,这是通过表达式中加入“p”命令来实现的。

/^[0-9][0-9]*$/他的含义是匹配至少由一位数字构成的行

## 方法2, 可以,不过不是bash实现的,是使用了grep的正则

#if grep '^[[:digit:]]*$' "$1";then

# echo "$1 is number."

#else

# echo 'no.'

#fi

## 方法3

#if [ "$1" -gt 0 ] 2/dev/null ;then

# echo "$1 is number."

#else

# echo 'no.'

#fi

## 方法4,case

#case "$1" in

# [1-9][0-9]*)

# echo "$1 is number."

# ;;

# *)

# ;;

#esac

## 方法5,awk

#echo $1| awk '{print($0~/^[-]?([0-9])+[.]?([0-9])+$/)?"number":"string"}'

## 方法5,awk

#if [ -n "$(echo $1| sed -n "/^[0-9]\+$/p")" ];then

# echo "$1 is number."

#else

# echo 'no.'

#fi

## 方法6,expr

expr $1 "+" 10 /dev/null

if [ $? -eq 0 ];then

echo "$1 is number"

else

echo "$1 not number"

fi

Linux里面shell里面fi命令作用是什么?

fi 是if语句的固定格式,shell里面有各种循环,都有固定的格式,个人理解是告诉计算机,这个循环语句到此,类似case循环一esac结尾一样。


当前文章:linuxfi命令 linuxfind命令的用法
文章来源:http://hbruida.cn/article/dodsghe.html