小编Pau*_*ce.的帖子

Bash:在斜杠后面插入一个空白字符时回显参数

我正在尝试使用bash中的命令行参数构造路径.我在.bashrc中添加了以下行:

alias hi="echo '/path/to/$1'"
Run Code Online (Sandbox Code Playgroud)

但是,这会产生:

~$ hi foo
/path/to/ foo
Run Code Online (Sandbox Code Playgroud)

想知道斜线后面的空白是从哪里出来的?

谢谢

汉纳斯

bash

1
推荐指数
1
解决办法
186
查看次数

如何使用标准的linux/unix过滤器验证信息?

我在制表符分隔文件中有以下数据:

_ DATA _

Col1    Col2     Col3     Col4    Col5
blah1   blah2     blah3   4       someotherText
blahA   blahZ     blahJ   2       someotherText1
blahB   blahT     blahT   7       someotherText2
blahC   blahQ     blahL   10      someotherText3
Run Code Online (Sandbox Code Playgroud)

我想确保此文件第4列中的数据始终为整数.我知道如何在perl中执行此操作

  • 读取每一行,在变量中存储第4列的值
  • 检查该变量是否为整数
  • 如果以上是真的,继续循环
  • 否则会断开循环,并显示文件数据不正确的消息

但是我如何在使用标准linux/unix过滤器的shell脚本中执行此操作?我的猜测是使用grep,但我不确定如何?

bash

1
推荐指数
1
解决办法
1956
查看次数

JQuery Cycle Plugin在IE中不起作用 - 谁能提供帮助?

我目前正在为一个客户开发一个网站,该网站使用JQuery循环插件来浏览一些div,其中包含有关婚纱的图片和信息.

一切都在Firefox中正常工作,但是当我在IE6 + IE7中进行测试时,div都是垂直堆叠在一起的,并且它们在屏幕上向下移动1000个像素.

对我来说,这似乎是绝对/相对定位或z-index的问题,我还在子div中使用了一些浮点数.我也在使用SIFR进行文本替换,这可能会有冲突吗?

这是我的代码,任何人都可以看到一个问题会导致我的循环无法在IE中工作.


XHTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Wedding Dresses ~ Cavendish Bridal House</title>
<link rel="stylesheet" type="text/css" media="all" href="css/reset.css" />
<link rel="stylesheet" type="text/css" media="all" href="css/text.css" />
<link rel="stylesheet" type="text/css" media="all" href="css/960.css" />
<link rel="stylesheet" type="text/css" media="all" href="css/styles.css" />
<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="css/sifr.css" type="text/css" media="screen" />  

<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" media="screen" href="css/ie6.css" />    
<![endif]-->

<!--[if lt …
Run Code Online (Sandbox Code Playgroud)

css jquery internet-explorer cycle internet-explorer-6

1
推荐指数
1
解决办法
3749
查看次数

如何在创建文件之前检查文件是否存在

我正在创建一个xml文件.我需要先检查文件是否存在.如果该文件不存在,请创建该文件并从.cs文件添加数据cmg.

如果文件存在,请不要创建文件,只需从.cs文件添加数据cmg.

我的代码看起来像这样:

string filename="c:\\employee.xml";
XmlTextWriter tw=new XmlTextWriter(filename,null);//null represents 
the Encoding Type//
tw.Formatting=Formatting.Indented; //for xml tags to be indented//
tw.WriteStartDocument(); //Indicates the starting of document (Required)//
tw.WriteStartElement("Employees"); 
tw.WriteStartElement("Employee","Genius");
tw.WriteStartElement("EmpID","1");
tw.WriteAttributeString("Name","krishnan");
tw.WriteElementString("Designation","Software Developer");
tw.WriteElementString("FullName","krishnan Lakshmipuram Narayanan");
tw.WriteEndElement();
tw.WriteEndElement();
tw.WriteEndDocument(); 
tw.Flush();
tw.Close();
Run Code Online (Sandbox Code Playgroud)
  • 所以下次我们向文件添加数据时,我们需要检查文件是否退出并将数据添加到xml文件中
  • 因为我们已将empID作为主键,如果用户尝试进行重复输入,我们需要避免

这可能吗?

xml asp.net file-io

1
推荐指数
1
解决办法
3655
查看次数

在像bash这样的shell中,在二进制文件中看到二进制而不是十六进制

当一个人读取一个文件时,我们可以说一个dd图像,或者我们用cat/dev/sda从硬盘驱动器中读取,输出通常是某种形式的Hex.由于这些实际上是二进制文件,因此可以使用二进制文件而不是十六进制文件.

添加:所以这是hdd的Windows 7 dd图像的输出.你可以看到它只是六角形糊状物.我反而希望看到实际的二进制文件,而不是十六进制的解释.

3<C0><8E>?^@|<8E><C0><8E><U+063E>^@|<BF>^@^F<B9>^@^B<FC><F3><A4>Ph^\^F<CB><FB><B9>^D^@<BD><BE>^G<80>~^@^@|^K^O<85>^N^A<83><C5>^P<E2><F1><CD>^X?88>V^@U<C6>F^Q^E<C6>F^P^@<B4>A<BB><AA>U<CD>^S]r^O<81><FB>U<AA>u
<F7><C1>^A^@t^C<FE>F^Pf`<80>~^P^@t&fh^@^@^@^@f<FF>h^@^@h^@|h^A^@h^P^@<B4>B
<8A>V^@<8B><F4><CD>^S<9F><83><C4>^P<9E><EB>^T<B8>^A^B<BB>^@|<8A>V^@<8A>v^A<8A>N^B<8A>n^C<CD^Sfas^\<FE>N^Qu^L<80>~^@<80>^O<84><8A>^@<B2><80> <EB><84>U2<E4><8A>V^@<CD>^S]?<FE>}U<AA>un<FF>v^@<E8><8D>^@u^W<FA><B0><D1><E6>d<E8><83>^@<B0><DF><E6>`<E8>|^@<B0><FF><E6>d<E8>u^@<FB><B8>^@
<BB><CD>^Zf#<C0>u;f<81><FB>TCPAu2<81><F9>^B^Ar,fh^G<BB>^@^@fh^@^B^@^@f^@^@^@fSfSfUfh^@^@^@^@fh^@|^@^@fah^@^@^G<CD>^ZZ2<F6><EA>^@|^@^@<CD>^X
<A0><B7>^G<EB>^H<A0><B6>^G<EB>^C<A0><B5>^G2<E4>^E^@^G<8B><F0><AC><^@t
<BB>^G^@<B4>^N<CD>^P<EB><F2><F4><EB><FD>+<C9><E4>d<EB>^@$^B<E0><F8>$^B<C3>Invalid
partition table^@Error loading
operating system^@Missing operating
system^@^@^@c{<9A>~<8B>^V<C8>V <80>
!^@^G<FE><FF><FF>^@^H^@^@^@<E8><A7>^H^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@U
<AA>-kM-dM-^JV^@`M-;M-*UM-4AM-M^Sr6M-^AM-{UM-*u0M-vM-A^At+a`j^@j^@M-^?v
M-^?v^Hj^@h^@|j^Aj^PM-4BM-^KM-tM-M^Saas^NOt^K2M-dM-^JV^@M-M^SM-kM-VaM-yM-CInvalid
partition table^@Error loading
operating system^@Missing operating
system^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@,Dcv^Wv^W^@^@M-^@^A^A^@^GM-~M-^?M-^??^@^@^@M-^OM-^AM-'^H^
Run Code Online (Sandbox Code Playgroud)

bash

1
推荐指数
1
解决办法
1942
查看次数

为什么这个linux shell命令会暂停系统?

警告:恶意代码.不要试试这个.它出现在这里仅用于教育目的.

如果你在shell中输入这个shell片段,你的系统似乎停止了,你知道为什么吗?

:() { :|:& }; :      #
Run Code Online (Sandbox Code Playgroud)

你唯一能做的就是重启你的系统..你能给我一些解释吗?

linux shell

1
推荐指数
1
解决办法
360
查看次数

在iptables中添加总字节数

如何逐行添加grep输出编号.

我有以下输出文件

     pkts      bytes target     prot opt in     out     source               destination
       0        0 RETURN     0    --  *      *       0.0.0.0/0            192.168.1.117
       0        0 RETURN     0    --  *      *       192.168.0.1          0.0.0.0/0
       0        0 RETURN     0    --  *      *       0.0.0.0/0            192.168.0.1
  375993 19581223 RETURN     0    --  *      *       192.168.1.136        0.0.0.0/0
  752537 1043650417 RETURN     0    --  *      *       0.0.0.0/0            192.168.1.136
     123     9348 RETURN     0    --  *      *       192.168.1.100        0.0.0.0/0
     121     9196 RETURN     0    --  *      *       0.0.0.0/0            192.168.1.100
Run Code Online (Sandbox Code Playgroud)

我想为每个IP地址添加所有字节并将其存储为变量以进行进一步计算.

iptables -L RRDIPT -vnx -t …
Run Code Online (Sandbox Code Playgroud)

bash sum iptables

1
推荐指数
1
解决办法
367
查看次数

Shell脚本中的文件写缓冲

我有一个启动shell脚本,它从文件中读取一个值,将其递增1并将其写回.之后,我进行系统的电源循环(关闭并打开电源).我试图用这种方式记录重启的次数.但我发现文件计数器始终保持为1.如果我使用reboot命令重新启动,则文件中的计数器会正确递增.这是因为内核缓冲并延迟了文件写入.有没有办法强迫它立即写?

rc.user文件如下:

cd /root
bash bootcounter.sh
sleep 1
Run Code Online (Sandbox Code Playgroud)

bootcounter.sh如下

rebootcount=$(<bootcount)
rebootcount=$(($rebootcount+1))
echo $rebootcount >bootcount
Run Code Online (Sandbox Code Playgroud)

谢谢...

linux shell

1
推荐指数
1
解决办法
2009
查看次数

当存在powl()时,sscanf()导致链接失败

当我编译下面的精简程序时,我从链接器收到以下错误:

$ gcc -std=c99 -O3 powltest.c -o powltest
/tmp/ccYkWTGI.o: In function `main':
powltest.c:(.text+0x7a): undefined reference to `powl'
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

如果我注释掉该行sscanf(),则编译成功并且程序运行正确,因为功能减少了.如果我注释掉包含的行,它也可以工作powl()

#include <stdio.h>
#include <math.h>

int main(int argc, char *argv[])
{
    unsigned int bits = 5;
    unsigned int n = 0;
    unsigned long long start = 0;

    n = sscanf(argv[1], "%u", &bits);
    printf("%u\n", bits);
    start = powl(2, bits) - 1;
    printf("%llu\n", start);
}
Run Code Online (Sandbox Code Playgroud)

以下是版本:

$ gcc --version
gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1
$ ld --version …
Run Code Online (Sandbox Code Playgroud)

c scanf pow

1
推荐指数
1
解决办法
438
查看次数

使用 $() 将多个命令输出到变量 Bash 脚本中

我查看了关于此的多个线程,但仍有问题,这是我尝试执行的命令。没有将$()所需输出打印到控制台的命令没有问题,我似乎无法将该值放入稍后使用的变量中。

MODEL3= $(/usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}')
Run Code Online (Sandbox Code Playgroud)

MODEL3= /usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}'  
Run Code Online (Sandbox Code Playgroud)

- 将输出到控制台。非常感谢!

linux bash shell

1
推荐指数
1
解决办法
5337
查看次数

标签 统计

bash ×5

linux ×3

shell ×3

asp.net ×1

c ×1

css ×1

cycle ×1

file-io ×1

internet-explorer ×1

internet-explorer-6 ×1

iptables ×1

jquery ×1

pow ×1

scanf ×1

sum ×1

xml ×1