【Linux中变量#,@,0,1,2,*,$$,$?的意思】教程文章相关的互联网学习教程文章

linux – 用变量top-end编写一个bash for-loop【代码】

我经常使用众所周知的语法在bash中编写for循环:for i in {1..10} [...]现在,我正在尝试编写一个顶部由变量定义的地方:TOP=10 for i in {1..$TOP} [...]我尝试了各种各样的parens,花括号,评估等,并且通常会收到错误的“错误替换”. 如何编写for-loop以使限制取决于变量而不是硬编码值?解决方法:您可以像这样使用for循环来使用变量$TOP进行迭代:for ((i=1; i<=$TOP; i++)) doecho $i# rest of your code done

linux – 如何让AWK使用在Bash脚本中创建的变量【代码】

参见英文答案 > How do I use shell variables in an awk script? 7个我的脚本看起来像这样#!/bin/bash #exampel inputfile is "myfile.txt" inputfile=$1 basen=`basename $inputfile .txt` # create basenamecat $inputfile | awk '{print $basen "\t" $3} # this doesn't print "myfile" but the whole content of it.我上面要做的是在AWK中打印之前创建的名为“basen”的变量.但不知怎的...

linux – 如何回显变量和数字的总和?【代码】

我有一个变量x = 7,我想回显它加一个,像echo($x 1),但我得到:bash: syntax error near unexpectedtoken `$x+1′我怎样才能做到这一点?解决方法:不需要expr,POSIX shell允许$(())进行算术评估:echo $((x+1))见§2.6.4

linux – 无法通过变量内部的引号传递wget变量【代码】

我正在尝试编写一个wget命令脚本来下载一个网页及其所有的附件和jpeg等. 当我手动输入脚本时,它可以工作,但我需要运行这个超过35000次来存档一个不受我控制的旧网站(国际公司政治,但我是数据的所有者). 我的问题在于改变会话参数. 我的脚本到目前为止如下:cnt=35209 # initialise the headers general_settings='-4 -P xyz --restrict-file-names=windows -nc --limit-rate=250k' html_page_specific='--convert-links --html-ext...

linux – 将PHP CLI打印的值分配给shell变量【代码】

我想要与assigning value to shell variable using a function return value from Python中给出的解决方案相当的PHP 在我的php文件中,我读了一些像这样的常量值: – $neededConstants = array("BASE_PATH","db_host","db_name","db_user","db_pass"); foreach($neededConstants as $each) {print constant($each); }在我的shell脚本中,到目前为止我有这个代码: – function getConfigVals() {php $PWD'/developer.php'//How to c...

linux – Pipe Bash命令输出到stdout和变量【代码】

我必须找到具有所选权限的文件并列出它们以及它们的编号.因此,我想将查找命令的结果传递给shell和下一个命令,我希望将哪个输出存储在一个变量中,以便以后可以很好地显示它.我想有类似的东西for i in "$@" dofind $filename -perm $i | tee /dev/tty | var=${wc -l}echo "number of files with $i permission: $var" done但var = ${wc -l}部分不起作用.请帮忙. 编辑我知道我可以把命令的整个输出放到一个变量上var=$(find $filename...

linux – 如何将git命令的输出存储在变量中?【代码】

我想要的是将git命令的输出(例如git status)存储在shell脚本中的变量中.当我说输出时,我说的是在执行命令时在终端中返回的文本,例如:在我的回购之外做一个git状态:fatal: Not a git repository (or any of the parent directories): .git我试过这个:var=$(git status)但’var’没有存储任何东西.解决方法:您可以使用:var=$(git status 2>&1)即将stderr重定向到stdout然后捕获输出. 否则,当在stderr和你的命令上写入错误消息时:...

linux – 从$PATH变量中删除冗余路径【代码】

我在$PATH变量中定义了相同的路径6次. 我没有退出检查它是否有效. 如何删除重复项? $PATH变量如下所示:echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin我该怎么把它重置为/usr/...

linux – Bash传递变量作为带引号的参数【代码】

假设./program是一个只打印参数的程序;$./program "Hello there" Hello there如何从变量中正确传递带引号的参数?我想这样做;$args='"Hello there"' $echo ${args} "Hello there" $./program ${args} Hello there # This is 1 argument但相反,当我查看变量时,args中的引号似乎被忽略,所以我得到了;$args='"Hello there"' $echo ${args} "Hello there" $./program ${args} "Hello there" # This is 2 arguments是否可以将ba...

linux – Shell脚本,将命令值保存到变量中【代码】

我试图在同一行打印VARI的值后跟一个逗号,这样我就可以拥有这些值的csv文件,但我无法保存值 VARI =’cat filename |头-1 | cut -d,-f ${i}’i=0 while (( i<130)) ; doif [[ $i -eq 1 || $i -eq 9 || $i -eq 12 || $i -eq 23 || $i -eq 25 || $i -eq 29 ]]thenVARI = 'cat filename | head -1 | cut -d, -f${i}'echo "$VARI ," filet i=$i+1; done输出预期是4,abc,5,8,xyz,9请让我知道我做错了什么,谢谢!解决方法:使用反引号(...

linux – 使用变量时sed替换不起作用【代码】

参见英文答案 > Replace a string in shell script using a variable 9个尝试用sed替换字符串时发生了一些奇怪的事情.这有效:find /home/loni/config -type f -exec sed -i 's/some_pattern/replacement/g' {} \;所以当我手动输入字符串时它可以工作.但在下面的情况下,不会发生更换:find /home/loni/config -type f -exec sed -i 's/${PATTERN}/${REPLACEMENT}/g' {} \;当我回显这两个变量PA...

linux – 如何在bash中导出变量【代码】

我需要从bash脚本中设置一个系统环境变量,该变量可以在当前范围之外使用.所以你通常会导出这样的环境变量:export MY_VAR=/opt/my_var但我需要环境变量在系统级别可用.这可能吗?解决方法:这是我知道做你想做的事的唯一方法: 在foo.sh中,您有:#!/bin/bash echo MYVAR=abc123当您想获得变量的值时,您必须执行以下操作:$eval "$(foo.sh)" # assuming foo.sh is in your $PATH $echo $MYVAR #==> abc123根据你想要做什么,以及你想...

基于Linux OpenJDK Debian的发行版的JAVA_HOME环境变量的正确目标是什么?【代码】

在Windows中,JAVA_HOME必须指向JDK安装文件夹(以便JAVA_HOME / bin包含所有可执行文件,JAVA_HOME / libs包含所有默认jar库). 如果我下载Sun的JDK软件包并在Linux中安装它,则程序相同. 但是,我需要使用Kubuntu的默认OpenJDK包.问题是所有可执行文件都放在/usr/bin中.但是罐子放在/usr/share / java中.由于它们不在同一个JAVA_HOME文件夹下,我遇到了Grails的问题,并且可能会遇到其他需要标准Java结构的应用程序. >如果我使用:JAVA_H...

Batch pk Shell - WindowsBatch与LinuxShell比较 [变量符号和关键字]【图】

原文地址:WindowsBatch与LinuxShell比较[变量符号和关键字] 一 简单实例1)batch file @echo?offrem?output?helloworld::??output?helloworldEcho?Hello?World!小结:- batch file一般以bat或cmd为后缀。- 第一行为@echo off表示关闭运行时batch file本身输入,只输出运行的结果。- rem和::表示注释。2)shell file #!/bin/sh#?output?helloworldecho?helloworld!小结:-shell file一般以sh,ksh,bash等结尾。-第一行为#!/bin/s...

Linux配置Java环境变量

1、将免安装的JDK拷贝到linux目录下/usr/local/jdk1.8.0_1442、更改环境变量vim /etc/profile加入如下代码: export JAVA_HOME=/usr/local/jdk1.8.0_144 export PATH=.:$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar1 2 33、刷新配置source /etc/profile