Articles of eof

(bash)用猫缩进多行文字到$ VAR?

操作系统: Debian 7 Wheezy GNU \ Linux 语言: Bash 已经审查过的文件: wiki / heredoc 什么工作: cat > software.temp <<- EOF gparted baobab EOF 什么不是 prefer="/etc/apt/preferences.d/${reponame}" cat <<- EOF >> ${prefer} Package: * Pin: release l=Debian Pin-Priority: 110 EOF 是的,我知道这是相反的,这可能是我没有得到它的工作。 从本质上来说,“找不到EOF”的错误。 请注意, 上面的每个块都用TAB 缩进一次或多次。 你可以在这里看到我的代码。 我不知道是否是因为我如何直接input/输出。 我可能以为像下面这样的东西,但也没有工作。 cat <<- EOF Package: * Pin: release l=Debian Pin-Priority: 110 […]

Linux命令和eof在一行中

我想问问是否可以结合linux命令和< sendmail -S "lalalal" -f "dailaakak" -au "kakakak" <<EOF >lalal:lalal >opp:ttt >ggg:zzz EOF 我想要有类似sendmail -S "lalalal" -f "dailaakak" -au "kakakak" <<EOF; lalal:lalal; opp:ttt; ggg:zzz; EOF sendmail -S "lalalal" -f "dailaakak" -au "kakakak" <<EOF; lalal:lalal; opp:ttt; ggg:zzz; EOF 我需要使用,而不是在bash脚本

bash脚本variables分配使用here-document的时候

我是bash / mysql的新手,但是我发现很多帮助阅读扔示例和其他人的问题…但已经遇到了我自己的一个。 我试图插入一行到MySQL数据库表每次一个文件被添加到一个特定的目录(为此我使用inotifywait)反正这里是我的bash脚本 #!/bin/bash while true; do filename= "false" filename= inotifywait –format "%f" -e create /var/www/media2net/torrent date_field= date +"%F":"%T" mysql –host=localhost –user=root –password=admin Media2net << EOF insert into video (title, description, url_video, upload_date) values('testing','default_description','$filename', '$date_feild'); EOF echo $filename done 从这我已经validation了echo的variables$filename被正确地保存在bash脚本的末尾,但是当我看表中的条目列url_video有它的默认值,而不是由$filename表示的string 从我可以得出结论variables$filename不会通过EOF传递我已经尝试在这里指示http://www.dba-oracle.com/t_access_mysql_with_bash_shell_script.htm 以及这个 使用shell脚本将数据插入远程MYSQL数据库 任何帮助,我可以find如何将variables传递到查询将不胜感激

使用Python在Linux中正确读取换行符

在Windows中,如果我正在使用Python的“for line in file”语法读取正常文本文件的内容,最后一行不会以换行符结尾,而是以前的所有行结束。 在Linux中,这种行为似乎是不同的 – 当我逐行读取文件并打印其内容时,我总是发现最后一行以换行符结尾,即使实际文件中不存在! 我也尝试使用file.readline()函数,具有相同的结果。 (我假设文本文件并不是以换行符结束的,如果是这样的话,Linux会从文件末尾打印出两个换行符,而不是真正存在的换行符。) 我的代码非常简单。 问题是它在Linux中产生的结果与在Windows中产生的结果不同。 with open(path, 'r') as file: for line in file: print('>', line, '<', sep='') ''' # Alternate method: while True: line = file.readline() if not line: break print('>', line, '<', sep='') ''' 在Linux上(确切地说,Ubuntu 13.10),最后一行总是以幻影换行符结束。 我已经在Python 2和3都试过了。任何想法发生了什么?

Cygwin的bash:意想不到的EOF而寻找匹配`“'

我有一个.rules文件,使用下面的命令: echo "char _$(var1)_b_[] = \"@(#) $(var1) $(var2) $(var3)\";" > $@ 处理这个文件的cygwin bash我有以下错误: echo "char _a_b_[] = \"@(#) abc 1.2.3 [03/05/2014 064 01:10]\";" > file.c _a_b_[]: -c: line 1: unexpected EOF while looking for matching `"' _a_b_[]: -c: line 2: syntax error: unexpected end of file 在Linux上,它工作正常。 我试图用一个单引号replace双引号: echo 'char _$(var1)_b_[] = "@(#) $(var1) $(var2) […]

UNIX命名为PIPE文件结尾

我正在尝试使用unix命名pipe道输出正在运行的服务的统计信息。 我打算提供一个类似于/proc界面,通过捕获文件可以看到实时统计信息。 我在我的Python代码中使用类似于这个的代码: while True: f = open('/tmp/readstatshere', 'w') f.write('some interesting stats\n') f.close() /tmp/readstatshere是由mknod创build的命名pipe道。 然后我把它看成数据: $ cat /tmp/readstatshere some interesting stats 大部分时间都可以正常工作。 但是,如果我连续多次login这个条目,有时我会得到some interesting stats而不是一个。 一次或两次,它甚至进入了一个无限循环,直到我杀死它为止。 到目前为止,唯一的解决方法是在f.close()之后放一段500毫秒的时间来避免这个问题。 我想知道为什么会发生这种情况,如果有更好的方法来处理它。 提前致谢

相同的文件与不同的大小fprintf在Linux上

我无法理解EOF如何工作,以及我的电脑如何知道文件的大小。 例如我做了3个文件,test0,test1和test2。 我以这种方式创build了test0和test1: int main(void) { /* */ FILE* fp0 = fopen("/home/kevin/eclipse-workspaceC/FileMangment/src/test0", "w+"); FILE* fp1 = fopen("/home/kevin/eclipse-workspaceC/FileMangment/src/test1", "w+"); if (!fp0 || !fp1) { fprintf(stderr, "file pointer points to NULL\n"); return 1; } fprintf(fp0, "abcd"); fprintf(fp1, "abcd\n"); fclose(fp0); fclose(fp1); return 0; } 然后,我创build了test2,右键单击 – >新文档,并在文件内写道: abcd 没有空间,也没有新的路线。 然后在bash上运行命令: wc -c test*; file test* wc -c test*; […]

Shell脚本ssh $ SERVER >> EOF

我在这里有一个方便的脚本,可以返回将在7天内过期或已过期的帐户。 我想让这个在多个主机上运行,​​而不用把脚本放在每个主机上,我添加了for loop和ssh $SERVER >> EOF部分,但是它只是运行那些运行脚本的系统的命令。 我相信错误是与ssh $SERVER >> EOF但我不确定,因为语法看起来是正确的。 #!/bin/bash for SERVER in `cat /lists/testlist` do echo $SERVER ssh $SERVER >> EOF sudo cat /etc/shadow | cut -d: -f1,8 | sed /:$/d > /tmp/expirelist.txt totalaccounts=`sudo cat /tmp/expirelist.txt | wc -l` for((i=1; i<=$totalaccounts; i++ )) do tuserval=`sudo head -n $i /tmp/expirelist.txt | tail -n 1` […]

我如何读超时tty文件?

我有在/ dev的tty设备,在那里我发送AT命令。 我想逐行阅读,并在超时后停止阅读文件。

Linux读取系统调用不会得到EOF

首先对不起,如果我的英文不stream利和清晰。 我正在理解过程之间的pipe道和沟通。 我试图实现两个c程序,一个是从标准input读入的某个pipe道,另一个是等待pipe道打开并从中读取并打印到标准输出,直到EOF。 这是编写器pipe道的代码: fd = open(filename, O_RDWR); if(fd == -1) print_error(); while(fgets(buffer, BUFFER_SIZE, stdin) != NULL) { if(write(fd, buffer, BUFFER_SIZE) == -1) print_error(); } 这里是读者pipe道的代码: while(1) { if((fd = open(filename, O_RDWR)) == -1) { if(errno == ENOENT) sleep(1); else print_error(); } else { while(read(fd, buffer, BUFFER_SIZE) != 0) { fprintf(stdout, "%s", buffer); } } […]