-
脚本的问题在于,SSH 在执行 SSH 时结束,并且 count 和 echo 都是本机执行的。 您可以将命令直接放入 SSH 中来执行,并且不需要回显"$count"完成。
SSH段落可以修改为:
-
1、ssh root@ip "command"执行远程命令。
2. 示例。 #!/bin/sh
acct_cycle=abc
for ip in `cat $`do
echo $;
count_rst=`ssh root@$ "find $dst_dir -type f |wc -l"`;
echo $count_rst;
done
-
有一定的影响,但影响不大,消耗比写入磁盘要小得多。
-
几乎不影响,打印,不需要计算。
-
定义环境变量是没有用的,只能在创建子进程时从父进程复制到子进程,不能从子进程传递到父进程,也不能在子进程运行期间从父进程获取新值。
解决方案是停止生成子流程,并更改为:
while read line
doi=`echo "$line" |awk ''`j=$[j+i]
echo $j
done < test
-
这是因为流水线的右侧是在 subshell 中执行的,“j=0”语句定义的变量 j 与 while 中的 j 不是同一个变量。
J 可以设置为环境变量,即定义如下:
export j=0
这样,两个地方的 j 都是相同的变量。
-
使用 awk:
host=,echo $host|awk -f ',' ''
如果你想做某事,你可以更换打印件。
-
我同意“ssh 后面跟着远程主机执行的命令”。
局部变量不起作用”。
脚本之所以能显示$aaa,是因为变量是本地定义的,但变量$i不是本地定义的,所以变量值无法显示,使用了 aaa="u1 u2"一块毛绒<
-
exit在被调用的脚本中,被调用的脚本肯定会退出。 如果不想在 while 循环后继续执行程序,可以在 do 之后将 break 添加到条件中
-
SSH 后跟远程主机执行的命令。
局部变量不起作用。
-
sh -x yourshell
在打印执行过程中,您将回显变量并查看出了什么问题。
如果出现问题,请学习调试脚本。
-
估计不能包含变量,习惯上用于 ((i=1; i<$r;i++)do
-
[seesea2517 ~]/ 1
seesea2517 ~]/ 2+++
seesea2517 ~]/ 3
seesea2517 ~]/ 6
seesea2517 ~]cat
#!/bin/bash
if [ z "$1" ]
thenecho "参数 1 是必需的,表示高度。 "
exitfifor ((i = 1; i <= $1; +i ))doline=""
for ((j = $1; j >= i; -j ))doline="$line "
donefor ((j = 0; j < 2 * i - 1; +j ))
doline="$line+"
doneecho "$line"
done
它应该是正则表达式的字符判断。
如果 [[i = 0-9]+$echo 11,表示匹配字符串的开头,[0-9] 只要它不是数字即可。 >>>More
如果公式直接或间接引用它所在的单元格,则称为循环引用。 只要有一个包含循环引用的打开工作簿,Microsoft Excel 就无法自动计算所有打开的工作簿。 可以取消循环引用,也可以使用上一次迭代的结果来计算循环引用中的每个单元格引用。 >>>More