我在cron中运行bash脚本,以便在满足特定条件时向多个收件人发送邮件.
我编码了这样的变量:
subject="Subject"
from="user@domain.com"
recipients="user1@gmail.com user2@gmail.com"
mail="subject:$subject\nfrom:$from\nExample Message"
Run Code Online (Sandbox Code Playgroud)
而实际发送:
echo -e $mail | /usr/sbin/sendmail "$recipients"
Run Code Online (Sandbox Code Playgroud)
问题是只有user2@gmail.com正在接收电子邮件.如何更改此设置以便所有收件人都能收到电子邮件?
注意:解决方案必须与sendmail,我使用jailshell,它似乎是唯一可用的方法
我一直在尝试使用shell(bash)脚本将行插入REMOTE数据库,但我遇到了一些麻烦:(
该脚本用于将文件上载到服务器,获取URL,HASH和文件大小,连接到远程mysql数据库,并将数据插入现有表中.我已经让它工作,直到远程MYSQL数据库位.
它看起来像这样:
#!/bin/bash
zxw=randomtext
description=randomtext2
for file in "$@"
do
echo -n *****
ident= *****
data= ****
size=` ****
hash=`****
mysql --host=randomhost --user=randomuser --password=randompass randomdb
insert into table (field1,field2,field3) values('http://www.site.com/$hash','$file','$size');
echo "done"
done
Run Code Online (Sandbox Code Playgroud)
我是编程的总菜鸟所以你是:P
无论如何,我添加了\以逃避括号,因为我遇到了错误.就像现在一样,脚本工作正常,直到连接到mysql数据库.它只是连接到mysql数据库而不执行insert命令(我甚至不知道insert命令是否可以在bash中工作).
PS:我已经从命令行逐个尝试了两个mysql命令,但是他们工作了,虽然我定义了hash/file/size并且没有转义"\".
无论如何,你们怎么想?是我试图做甚至可能吗?如果是这样的话?
任何帮助,将不胜感激 :)
我无法将结构数组传递给C中的函数.
我在main中创建了这样的结构:
int main()
{
struct Items
{
char code[10];
char description[30];
int stock;
};
struct Items MyItems[10];
}
Run Code Online (Sandbox Code Playgroud)
然后我像访问它一样:MyItems[0].stock = 10;等等
我想将它传递给像这样的函数:
ReadFile(MyItems);
Run Code Online (Sandbox Code Playgroud)
该函数应该读取数组,并能够编辑它.然后我应该能够从其他函数访问相同的数组.
我已经尝试了大量的声明,但没有一个有效.例如
void ReadFile(struct Items[10])
Run Code Online (Sandbox Code Playgroud)
我已经浏览了其他问题,但问题是它们都是完全不同的,使用typedef和asterisks.我的老师还没有教过我们指针,所以我想用我所知道的来做.
有任何想法吗?:S
编辑:Salvatore的答案是在我将原型修复为:
void ReadFile(struct Items[10]);
Run Code Online (Sandbox Code Playgroud) 所以我正在整理一个RSS解析器,它将处理RSS提要,过滤它,然后下载匹配的项目.假设正在下载的文件是合法的torrent文件.
现在我需要保存已经下载的文件的记录,因此它们不会再次完成.
我已经使用SQLite(如果不存在则创建数据库,如果select语句没有返回任何内容则插入行),但生成的jar文件是2.5MB +(由于sqlite库).
我想如果我使用文本文件,我可以将jar文件减少到几百千字节.
我可以保存下载的文件名列表 - 每行一个 - 并将整个文件读入内存,搜索文件是否存在等.
我遇到的几个问题都知道:
无论如何,你们怎么想?我可以在这里使用一些建议,因为我还是新手编程并且这是一个爱好的事情:)
我正在进行一些关于c ++的初学者练习,这让我很难过.我可以输入一个数字,但之后我没有选择输入一个字符,它会跳到最后一行.
我知道我可以使用cin >>符号,但我想知道为什么这不起作用.
#include<iostream>
using namespace std;
int main() {
cout << "Enter a number:\n";
int number;
cin >> number;
char symbol;
cout << "Enter a letter:\n";
cin.get(symbol);
cout << number << " " << symbol << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我有一个bash脚本可将数据上传到站点。我的上传速度越来越慢,因此我开始使用xargs和-N1并行运行它,同时运行5个。
但是,问题是服务器是否要求我解决一次验证码,如果我一次运行5次,而一次运行1次则可以正常工作。
我认为这是因为所有进程都完全在同一时间启动,因此我被标记了。
无论如何,这就是问题所在,我有什么办法可以在xargs / gnu并行启动过程之间添加等待时间(例如1秒)吗?
我唯一想出的就是使用pgrep脚本| wc -1来计算脚本实例,并休眠该秒数。
但是,这实际上不是最佳选择,是否有更好的方法呢?
我试图找到一些方括号的文件,但我似乎无法让它工作.
我的文件命名如下:
[ABC] test file.txt
Regexp我正在尝试:
find . -iregex '\[abc\].*test.*'
Run Code Online (Sandbox Code Playgroud)
这似乎不是出于某种原因.如果我用 - 替换它 -
find . -iregex '.*abc.*test.*'
Run Code Online (Sandbox Code Playgroud)
- 工作正常.所以问题在于方括号.有任何想法吗?
我得到了类名,属性和方法. 
我不确定他们之间的关系是什么,所以如果有人能在我开始画画之前纠正我,我会很感激:
游戏与体育有一对多的关系.体育与赛事有一对多的关系.活动与Race有一对多的关系.
而Heat和Final是Race的子类.
你怎么看?
说我有一个字符串 phone = "1-800-test"
我需要将字母转换为数字.
做这样的事情是行不通的(注意我当然是循环它):
phone = phone.replace(phone.charAt(9), (char) getNumber(phone.charAt(9)));
Run Code Online (Sandbox Code Playgroud)
请注意,这getNumber()是一个带字母并返回数字的方法:
int getNumber(char uppercaseLetter)
Run Code Online (Sandbox Code Playgroud)
无论如何,我得到一些奇怪的输出,字母被一个奇怪的方格所取代.
我该如何用数字代替字母?
我的files.txt服务器上有一个文本文件,每行都是一个带有完整路径的文件,例如/home/lelouch/dir/randomfile.txt.
我想循环遍历files.txt,并将每个文件名传递给另一个脚本.
我已经让这个像这样工作:
cat /home/lelouch/dir/files.txt | xargs -0 -n 1 -P 30 /home/lelouch/bin/script.
Run Code Online (Sandbox Code Playgroud)
问题是,虽然我想一次处理30个文件,但它一次只发生1个文件.我尝试了其他一些方法,但我还没有像我想的那样工作.
有任何想法吗?
我有以下结构:
struct Records
{
int Number;
char Name[20];
float Salary;
};
Run Code Online (Sandbox Code Playgroud)
使用以下方法编写两条
fwrite(&MyRecords.Number, sizeof(&MyRecords.Number), 1, binaryfile);
fwrite(&MyRecords.Name, sizeof(&MyRecords.Name), 1, binaryfile);
fwrite(&MyRecords.Salary, sizeof(&MyRecords.Salary), 1, binaryfile);
Run Code Online (Sandbox Code Playgroud)
写完后,我无法从中读取.
FILE * read;
read = fopen("binaryfile.dat","rb");
for(int x =0;x<2;x++)
{
fread(&records.Number, sizeof(records.Number), 1, read);
fread(&records.Name, sizeof(records.Name), 1, read);
fread(&records.Salary, sizeof(records.Salary), 1, read);
printf("%d %s %f\n",records.Number,records.Name,records.Salary);
}
Run Code Online (Sandbox Code Playgroud)
第一行打印两次,浮动出现一些奇怪的数字.我在过去的2个小时内检查了两倍和三倍但我无法找出我做错了什么:(