我正在测试下面的shell脚本:
#!/bin/ksh -x
instance=`echo $1 | cut -d= -f2`
if [ $instance == "ALL" ]
then
echo "strings matched \n"
fi
Run Code Online (Sandbox Code Playgroud)
它在if条件中给出了这个错误:
: ==: unknown test operator
Run Code Online (Sandbox Code Playgroud)
是==
不是使用正确的语法?我在命令行上运行如下
test_lsn_2 INSTANCE=ALL
Run Code Online (Sandbox Code Playgroud)
有人可以建议一个解决方案.谢谢.
我在其中一个C拼图中看到了这个问题!! 这真的有可能吗?
如果将其名称作为字符串,我该如何调用函数?是否可以使用scanf读取的字符串直接用于调用函数?
我已经想到了if(strcmp(str,"string"))然后调用该函数.
但还有其他方法吗?
使用UNIX时,我使用键入!!
来运行上次执行的命令.
如何在Windows命令提示符下执行类似的操作?
HI,
我非常擅长使用Visual studio.
我正在尝试调试应用程序.在那里我遇到了如下声明:
double tmp =
myPart->bat_qty() * timeFactor / myPart->AUB() * myPart->UCost * myAIM->param->myAnalysisParams->wd_year;
Run Code Online (Sandbox Code Playgroud)
在VS中将光标放在
timeFactor
myPart->UCost
myAIM->param->myAnalysisParams->wd_year
Run Code Online (Sandbox Code Playgroud)
它显示了相应的值.但不是返回的值
myPart->bat_qty()
myPart->AUB()
Run Code Online (Sandbox Code Playgroud)
查找这些函数返回的值的最简单方法是什么.如果这似乎是一种陈词滥调的问题,请道歉.但我是VS的新手.我需要一种更好的方法来查找返回的值,而无需编辑用于在一些临时变量中存储值的文件.我的意思是我不能编辑文件.
这是我的示例程序:
#include<stdio.h>
int main()
{
printf("hello good morning \n");
return 0;
}
gcc -Wall -g temp.c
/opt/langtools/bin/gdb a.out
HP gdb 3.3 for PA-RISC 1.1 or 2.0 (narrow), HP-UX 11.00.
Copyright 1986 - 2001 Free Software Foundation, Inc.
Hewlett-Packard Wildebeest 3.3 (based on GDB) is covered by the
GNU General Public License. Type "show copying" to see the conditions to
change it and/or distribute copies. Type "show warranty" for warranty/support.
..
(gdb) b 6
Breakpoint 1 at 0x2b14: file temp.c, line …
Run Code Online (Sandbox Code Playgroud) 我在接受采访时问过这个问题:
假设我们上面有二叉树,我怎么能产生如下的输出
2 7 5 2 6 9 5 11 4
Run Code Online (Sandbox Code Playgroud)
我回答可能是我们可以有一个级别计数变量,并通过检查每个节点的级别计数变量按顺序打印所有元素.可能我错了.
任何人都可以说明我们如何实现这一目标?
以下两种方式在c ++中编写模板有什么区别
template<typename T>
& template<class T>
我们什么时候比他们更喜欢他们?如果两者都相同,那么为什么如果一个就够了我们两个都有?
我在接受采访时问过这个问题:
假设你有一个函数可以接受任何类型的参数和任意数量的参数.你会如何编写模板函数?
我不知道确切的答案.任何人都可以建议吗?
我有一个文件如下:
10temp3
20/temp4
28 temp 5
Run Code Online (Sandbox Code Playgroud)
我使用下面的命令来分割行并获取行中的最后一个数字。
awk -F"temp" '{print $NF}' temp3
Run Code Online (Sandbox Code Playgroud)
我得到的输出是:
> awk -F"temp" '{print $NF}' temp3
10temp3
20/temp4
28 temp 5
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,如果我使用 nawk 我会得到预期的输出。
> nawk -F"temp" '{print $NF}' temp3
3
4
5
>
Run Code Online (Sandbox Code Playgroud)
我可以知道原因吗?awk 不支持作为分隔符提到的字符串吗?
如何在shell脚本中运行telnet并在远程服务器上执行命令?
由于安全原因,我不希望在我的solaris机器上安装.我也没有net::telnet
安装perl 模块.
那么使用expect和perl我怎么能这样做?
我尝试了以下的东西,但它不起作用.
#!/usr/bin/sh
telnet 172.16.69.116 <<!
user
password
ls
exit
!
Run Code Online (Sandbox Code Playgroud)
当我执行它时,这就是我得到的:
> cat tel.sh
telnet 172.16.69.116 <<EOF
xxxxxx
xxxxxxxxx
ls
exit
EOF
> tel.sh
Trying 172.16.69.116...
Connected to 172.16.69.116.
Escape character is '^]'.
Connection to 172.16.69.116 closed by foreign host.
>
Run Code Online (Sandbox Code Playgroud)