我有一个Suse 10系统中的文件,如a_dbg.txt, b_dbg.txt … 我想编写一个bash shell脚本,通过从这些脚本中删除“_dbg”来重命名这些文件。 谷歌build议我使用rename命令。 所以我在CURRENT_FOLDER上执行了命令rename _dbg.txt .txt *dbg* 我的实际CURRENT_FOLDER包含下面的文件。 CURRENT_FOLDER/a_dbg.txt CURRENT_FOLDER/b_dbg.txt CURRENT_FOLDER/XX/c_dbg.txt CURRENT_FOLDER/YY/d_dbg.txt 执行rename命令后, CURRENT_FOLDER/a.txt CURRENT_FOLDER/b.txt CURRENT_FOLDER/XX/c_dbg.txt CURRENT_FOLDER/YY/d_dbg.txt 它没有recursion地做,如何使这个命令重命名所有子目录中的文件。 像XX和YY一样,我将拥有许多不可预知的子目录。 而且我的CURRENT_FOLDER也将有一些其他的文件。
我想远程运行一个脚本。 但系统无法识别path。 它抱怨说,“没有这样的文件或目录”我使用它的权利? ssh kev@server1 `./test/foo.sh`
在Linux上,我可以这样做: $ FOO=BAR ./myscript 在设置环境variablesFOO的情况下调用“myscript”。 在Powershell中是否有类似的可能,即不必先设置variables,调用命令,然后再次取消设置variables? 为了更清楚我的使用情况 – 我不想把它作为脚本的一部分。 相反,我有第三方脚本,其行为我可以使用环境variables来控制,但在这种情况下,不是命令行参数。 所以能够在打字之间交替 $ OPTION=1 ./myscript 和 $ ./myscript 只是非常方便。
我在脚本语言中有些生疏,只要最近他们像蘑菇一样popup:) 今天,我认为有一个脚本语言可以与C ++无缝对话,也就是说,可以使用C ++类,而且对我来说最重要的是可以编译成C ++或某个DLL / .SO(加上它的。 h),以便我可以将它链接到我的C ++程序中,并利用脚本定义或实现的类。 我知道我可以embedded任何stream行的脚本语言,如卢阿,ruby,python…但接口通常包括某种“eval”函数来评估提供的脚本代码。 根据用来连接C ++和脚本语言的工具,脚本到C ++的callback集成可能或多或less容易编写,但是我还没有看到任何脚本语言,它们实际上允许我编写独立的模块作为一个.h和.so / dll暴露给我的程序(也许沿着生成C ++代码的脚本语言)。 你知道任何这样的工具/脚本语言吗? 提前致谢。 PD。 我一直在思考Vala或Haskell的GHC。 他们生成C,但不是C ++ …
在脚本中你必须包含一个#! 在第一行,然后是执行脚本的程序的path(例如:sh,perl)。 据我所知, #字符表示一个注释的开始,该行应该被执行该脚本的程序忽略。 看起来,这第一行是在某种程度上被某些东西读取,以便脚本被正确的程序执行。 请有人可以更多地了解#!的运作#! ? 我真的很好奇,所以答案越深入越好。
这可能有点早,问这个,但我正在运行Windows 10技术预览版10122.我想build立Cortana有自定义命令。 以下是她的工作方式: Hey Cortana, <she'll listen and process this command> 微软会处理这个命令,如果没有任何东西的话,她只会search关于bing的input。 不过,我希望能够说一些例如 Hey Cortana, I'm going to bed now I'm going to bed now的input触发器运行一个批处理脚本,一个VBScript,一个命令,或者任何一些自定义的响应,基本上做了以下几点。 C:\> shutdown -s 有没有办法为Cortana设置预定义的自定义命令? 更新: 我创build了这个基本的YouTube教程 , 这个更高级的 教程是基于talkitbr的优秀和非常有用的答案下面的相应的GitHub回购 。 起初他的回答超出了我的理解,所以我决定把它分解得更细一些,以便像我这样的未来用户。
我一直在我的Linux机器上开发一个脚本已经有一段时间了,我也想在我的Mac上运行它。 我以为Mac上的function和linux上的function一样,但是今天我意识到这是错误的。 我知道Mac上存在的function较less,但我认为确实存在的function具有相同的实现。 这个问题是关于date命令的。 当我运行命令在我的Linux机器的参数提供一些时间在纳秒,我得到正确的结果,但是当我在我的Mac上运行它,它没有这个选项。 Linux-Machine> date +%N 55555555555 #Current time in nanoseconds Mac-Machine> date +%N N 我如何才能获得在Mac上作为bash命令纳秒的当前时间? 最糟糕的情况是我创build了一小段代码,用C调用一个系统函数,然后在我的脚本中调用它。 任何帮助深表感谢!
现在,我正在使用几个脚本来生成文件,我将其作为资源包含在Xcode中。 事情是我正在运行脚本,然后从项目中删除,然后添加回到项目。 必须有一种方法来实现最后一步的自动化,以便脚本可以生成文件并自动将它们添加到xcode项目中。 我使用bash,但任何语言的例子会有所帮助。 谢谢你,安德鲁
我有一个Web服务器,保存编号的Web应用程序的日志文件。 一个文件名的例子是: dbsclog01s001.log dbsclog01s002.log dbsclog01s003.log 最后3位是计数器,他们可以达到100。 我通常打开一个网页浏览器,浏览到如下文件: http://someaddress.com/logs/dbsclog01s001.log 并保存这些文件。 当你得到50个日志时,这当然会让人有些恼火。 我试图想出使用wget和传递的BASH脚本 http://someaddress.com/logs/dbsclog01s*.log 但是我的脚本有问题。 无论如何,任何人都有如何做到这一点的样本? 谢谢!
我既爱又恨编写Bash。 我喜欢这样简化操作文件和处理stream程(我同意这个stream行的问题 ,在这方面比Python,Ruby等更好),但我讨厌的语法,特别是在条件,循环等。 (这是主观的,但我觉得这两个令人困惑和烦人。例如,当阅读时,无功,但无论写作时;写入静静地失败,如果有空格左右;;如果使用正则expression式双括号;有时双分号和单分号其他人等) 作为一个编译为JS的CoffeeScript的狂热粉丝,我一直在想:是否有任何语言具有像Python / Ruby / CoffeeScript这样的语言的美学/语法,但是它们是作为Bash而不是其他运行时? 例如,我希望能够使用更简单的语法来编写大部分Bash: $AGGREGATE_FILENAME = 'allfiles.txt' if not exists $AGGREGATE_FILENAME touch $AGGREGATE_FILENAME for $file in files/* cat $file >> $AGGREGATE_FILENAME switch $1 case 'test' run-tests echo 'Tests finished!' case 'deploy' echo 'Packaging…' mv foo bar/ deploy-bar 这是一个超级人为的例子,语法是一个稻草人(主要来自CoffeeScript,但保留了一stream命令的基本Bash概念,与variables分开,以及松散的打字)。 无论如何,只是一个问题和思考的食物。 我希望能够写出比Bash更好的脚本。 =)谢谢!