这是我的C程序
int main(){
int n;
while(1){
printf("Enter n:\n");
scanf("%d",&n);
switch(n){
case 1: int t;
scanf("%d",&t);
if(t<10)
printf("true");
else printf("false");
break;
case 2: char c;
scanf("%c",c);
if(c=='a') printf("true");
else printf("false");
break;
case -1: break;
}
if (n==-1) break;
}
return 0;
}
这是我的bash shell脚本
./a.out << 'EOF'
1
4
2
b
-1
EOF
这将执行代码,但不保存输出
./a.out > outputfile
上面的代码将保存输出,包括“ Enter n”。
我想执行代码,仅保存true / false部分(即排除所有其他printf的部分)。如何存储文件的输出以及输入文件的内容?
./a.out < input.txt > output.txt
我为a.out做了替代,可以用于测试。 is_add.sh
寻找奇怪的数字:
#!/bin/bash
exitfalse() {
echo $*
echo false
exit 1
}
exittrue()
{
echo $*
echo true
exit 0
}
[ $# -eq 0 ] && exitfalse I wanted a number
[[ $1 =~ [0-9]+ ]] || exitfalse Only numbers please
(( $1 % 2 == 0 )) && exitfalse Even number
exittrue Odd number
使用此详细脚本会产生很多垃圾
#!/bin/bash
testset() {
for input in john doe 1 2 3 4; do
echo "Input ${input}"
./is_odd.sh "${input}"
done
}
testset
您如何在文件中具有相同的输出而只有false / true?使用tee
将输出发送到屏幕以及进行过滤的某些过程:
testset | tee >(egrep "false|true" > output)
我认为以上命令最适合您的问题,我希望查看输入字符串:
testset | tee >(egrep "Input|false|true" > output)