Tag: shell

shell中的variables插值

这可能是一个非常基本的问题,但由于某种原因,我似乎过度看待明显。 我有一个名为filepath=/tmp/name的variables 要访问variables,我知道我可以做这个$filepath 在我的shell脚本中,我试图做这样的事情(后面打勾是打算的) `tail -1 $filepath_newstap.sh` 这条线路不通,duuh! 因为variables不叫$filepath_newstap.sh 如何将_newstap.sh添加到variables名称中? 请注意,反蜱是用于expression评估的

rm无法通过通配符从脚本中删除文件,而是通过shell提示符工作

我用Linux shell脚本遇到了一个非常愚蠢的问题。 我想删除目录中所有扩展名为“.bz2”的文件。 在我打电话的剧本里 rm "$archivedir/*.bz2" 其中$ archivedir是一个目录path。 应该很简单,不是吗? 不知怎的,它pipe理失败,这个错误: rm: cannot remove `/var/archives/monthly/April/*.bz2': No such file or directory 但是在那个目录下有一个名为test.bz2的文件,如果我把脚本改成 echo rm "$archivedir/*.bz2" 并将该行的输出复制/粘贴到terminal窗口中,即可成功删除该文件。 我究竟做错了什么?

在Powershell中将string转换为int的惯用方法是什么?

我发现的唯一方法是直接演员: > $numberAsString = "10" > [int]$numberAsString 10 这是Powershell的标准方法吗? 预计是否会做一个testing,以确保转换将成功,如果是的话,如何呢?

从Linux上的命令队列并行处理(bash,python,ruby等等)

我有一个200个命令的列表/队列,我需要在Linux服务器的shell中运行。 我只想一次运行最多10个进程(从队列中)。 一些进程需要几秒钟才能完成,其他进程需要更长的时间。 当一个进程完成后,我希望下一个命令从队列中“popup”并执行。 有没有人有解决这个问题的代码? 进一步阐述: 有200件工作需要完成,在某种排队中。 我最多只想做10件工作。 当一个线程完成一项工作时,它应该询问队列中的下一项工作。 如果队列中没有更多的工作,线程就会死亡。 当所有的线程都已经死亡,这意味着所有的工作已经完成。 我试图解决的实际问题是使用imapsync将200邮箱从旧邮件服务器同步到新的邮件服务器。 一些用户有大邮箱,需要很长时间tto同步,其他用户有很小的邮箱和快速同步。

在哪里放PowerShell脚本?

(我不敢相信我实际上在问这个问题,但是我今天没有脑力了。) 我刚刚写了我的第一个严重的PowerShell脚本,我真的很高兴。 我打算每天都用它。 我希望能够从Posh命令行中调用它。 我会给它一个动词 – 名词types的名字,但现在它是一个简单的.ps1,而不是那些花费高级function,参数等。 那么它应该去哪里,我怎样从一个Posh命令行调用它? 我打算写更多! 他们应该去哪里? 它应该是我的个人资料中的一个function吗? 它应该走在我的道路上吗? 它是否在PSMODULEPATH? 什么样的东西去那里? 它看起来是recursion还是像正常的PATH? 你们在哪里把你的PowerShell脚本,你怎么组织? 我有很多使用C#和C ++工具的经验,并且知道如何命名它们以及将它们放在哪里。 而在另一个极端,我做了很多蹩脚的.bat文件,这些文件通常是独立的,或者堆在一个文件夹中。 但PowerShell似乎是非常不同的。 你可以非常快速地制作糟糕的.bat文件types的东西,或者你可以用它来构build库和复杂的服务。 我真的很喜欢在开始之前如何开始组织这些事情的一些想法。 显然每个人都不一样,所以我希望有一些讨论。 谢谢!

如何清除PowerShell中的$错误?

有没有办法清除跟踪PowerShell会话中的错误的$ Errorvariables? 如果是这样,你怎么做? 我已经试过: $error.clear 在Windows 7上的PowerShell ISE中,$ Error数组仍然是填充的。

是否有像Lint或Perl :: Critic的静态分析工具的shell脚本?

是否有任何shell(特别是bash或ksh)检查器testing风格,最佳实践,命名约定等shell脚本? (像Lint for C,或Perl :: Critic for Perl。) 我知道ksh你可以通过运行ksh -n script.ksh来进行语法检查,但是我希望得到的不仅仅是sytax检查 – parsing/分析实际代码的东西? 我可能运气不好,但我想这不会问。

读取线路循环的shell脚本在第一行之后停止

我有以下的shell脚本。 目的是循环通过目标文件(其path是脚本的input参数)的每一行,并针对每一行进行工作。 现在,它似乎只能用于目标文件的第一行,并在处理该行后停止。 我的脚本有什么问题吗? #!/bin/bash # SCRIPT: do.sh # PURPOSE: loop thru the targets FILENAME=$1 count=0 echo "proceed with $FILENAME" while read LINE; do let count++ echo "$count $LINE" sh ./do_work.sh $LINE done < $FILENAME echo "\ntotal $count targets"

获取PowerShell循环中当前项目的索引?

鉴于PowerShell中的项目列表,如何find循环内的当前项目的索引? 例如: $letters = { 'A', 'B', 'C' } $letters | % { # Can I easily get the index of $_ here? } 所有这一切的目标是我想要使用Format-Table输出一个集合,并添加一个包含当前项目索引的初始列。 这样人们可以交互式地select一个项目来select。

如何base64编码图像在Linux bash / shell

我试图在一个shell脚本中base64编码图像,并将其放入variables: test="$(printf DSC_0251.JPG | base64)" echo $test RFNDXzAyNTEuSlBH 我也尝试过这样的事情: test=\`echo -ne DSC_0251.JPG | base64\` 但仍然没有成功。 我想要做这样的事情: curl -v -X POST -d '{"image":$IMAGE_BASE64,"location":$LOCATION,"time_created":$TIMECREATED}' -H 'Content-type: text/plain; charset=UTF8' http://192.168.1.1/upload 我发现这个http://www.zzzxo.com/q/answers-bash-base64-encode-script-not-encoding-right-12290484.html 但仍然没有成功。