Tag: shell

如何在Bash中的分隔符上分割string?

我有这个string存储在一个variables: IN="bla@some.com;john@home.com" 现在我想分割string; 定界符,使我有: ADDR1="bla@some.com" ADDR2="john@home.com" 我不一定需要ADDR1和ADDR2variables。 如果它们是一个更好的数组的元素。 经过下面答案的build议后,我得到了以下的结果: #!/usr/bin/env bash IN="bla@some.com;john@home.com" mails=$(echo $IN | tr ";" "\n") for addr in $mails do echo "> [$addr]" done 输出: > [bla@some.com] > [john@home.com] 有一个涉及设置Internal_field_separator (IFS)的解决scheme; 。 我不确定这个答案是怎么回事,你如何将IFS重置为默认? RE: IFS解决scheme,我试过这个,它工作,我保留旧的IFS ,然后恢复它: IN="bla@some.com;john@home.com" OIFS=$IFS IFS=';' mails2=$IN for x in $mails2 do echo "> [$x]" done IFS=$OIFS 顺便说一句,当我尝试 mails2=($IN) […]

在Bashvariables赋值中找不到命令错误

我有这个脚本叫做test.sh: #!/bin/bash STR = "Hello World" echo $STR 当我运行sh test.sh我得到这个: test.sh: line 2: STR: command not found 我究竟做错了什么? 我在网上看到极其基本的/初学者的bash脚本教程,这就是他们如何声明variables…所以我不知道我在做什么错了。 我在Ubuntu服务器9.10。 是的,bash位于/bin/bash 。

如何在awk脚本中使用shellvariables?

我发现了一些将外部variables传递给awk脚本的方法,但是我对'和"感到困惑。 首先,我尝试了一个shell脚本: $ v=123test $ echo $v 123test $ echo "$v" 123test 然后尝试awk: $ awk 'BEGIN{print "'$v'"}' $ 123test $ awk 'BEGIN{print '"$v"'}' $ 123 为什么区别? 最后我尝试了这个: $ awk 'BEGIN{print " '$v' "}' $ 123test $ awk 'BEGIN{print ' "$v" '}' awk: cmd. line:1: BEGIN{print awk: cmd. line:1: ^ unexpected newline or end of string […]

何时在shellvariables中引用引号?

有人可以告诉我是否应该在shell脚本中引用variables吗? 例如,以下是正确的: xdg-open $URL [ $? -eq 2 ] 要么 xdg-open "$URL" [ "$?" -eq "2" ] 如果是这样,为什么?

如何设置一个variables来自Bash命令的输出?

我正在为涉及使用Bash的工作进行简单的脚本编写项目。 我有一个非常简单的脚本,如下所示: #!/bin/bash VAR1="$1" VAR2="$2" MOREF='sudo run command against $VAR1 | grep name | cut -c7-' echo $MOREF 当我从命令行运行这个脚本并传递它的参数,我没有得到任何输出。 但是,当我运行$MOREFvariables中包含的命令时,我能够得到输出。 我想知道如何将一个需要在脚本中运行的命令的结果保存到一个variables,然后在屏幕上输出该variables?

Bash中单引号和双引号的区别

在Bash中,单引号( '' )和双引号( "" )之间有什么区别?

在cmd.exe(批处理)脚本中的数组,链表和其他数据结构

我正在玩cmd.exe,但在其帮助中,我没有find任何信息,如何定义数组。 我发现,如何定义简单的variables: set a = 10 echo %a% 但是,我想创build数组,链表等… 那么,它是否能够在cmd.exe中(我的意思是:在cmd.exe中是否存在任何数组关键字?) 我想要实现一些algorithm: 冒泡sorting 快速sorting 侏儒sorting 等等… 所以,我也想知道,Cmd.exe是否有引用或实例,结构等? 导致其帮助不完整在:/? 图灵机定义可以将Cmd.exe定义为完整吗? (图灵完成)

在Python中调用外部命令

如何从Python脚本中调用一个外部命令(就像我在Unix shell或Windows命令提示符下键入的那样)?

sed命令在文件中查找和replace,覆盖文件不起作用,它清空文件

我想通过命令行在HTML文件上运行查找和replace。 我的命令看起来像这样: sed -es/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html > index.html 当我运行这个,然后看文件时,它是空的。 它删除了我的文件的内容。 当我再次恢复文件后运行这个: sed -es/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html stdout是文件的内容,查找和replace已经执行。 为什么发生这种情况?

在Bash中管道输出和捕获退出状态

我想在Bash中执行一个长时间的运行命令,并且捕获它的退出状态,并且开始输出。 所以我这样做: command | tee out.txt ST=$? 问题在于变量ST捕获了tee的退出状态而不是命令。 我该如何解决这个问题? 请注意,命令是长时间运行,并将输出重定向到一个文件,稍后查看它不是一个好的解决方案。