Articles of shell

自动运行多个compass-sass监视操作

我正在尝试确定指南针(sass)同时观看多个目录的最佳方法。 每个目录代表一个个人客户和他们的网站。 /var/www/customers/domain1.com /var/www/customers/domain2.com /var/www/customers/domain3.com 我已经了解到每个watch命令可能需要单个进程,每当添加/删除/移动文件夹时,自动运行和停止这些命令的最佳做法是什么?

为什么我们不能通过Linux中的system()系统调用来更改目录?

system ("cd .."); 这不会产生任何错误,但也没有任何意义。 为什么?

在bash shell脚本中启动dynamicvariables(variablesvariables)

我通过bash shell使用PHP CLI。 请检查在shell脚本中操作数组(由php-cli打印)以获取详细信息。 在下面的shell代码中,我能够回显我从PHP脚本获得的key对。 IFS=":" # parse php script output by read command php $PWD'/test.php' | while read -r key val; do echo $key":"$val done 以下是这个的输出 – BASE_PATH:/path/to/project/root db_host:localhost db_name:database db_user:root db_pass:root 现在我只想在while循环中启动dynamicvariables,这样我可以像$BASE_PATH那样使用它们,其值为'/path/to/project/root' , $db_host 'localhost' 我来自PHP的背景。 我想要的东西像$$key = $val的PHP

语法错误:文件结束意外(期待“那么”)

我正在做一个Minecraft服务器插件更新的代码我是一个新的shell脚本,所以我不知道很多… 当我运行这个代码时,我得到一个错误: #!/bin/sh export PATH=$PATH:. #Options PLUGINDOWNLOADLINK=http://api.bukget.org/3/plugins/bukkit/$PLUGINNAME/latest/download # Plugin folder if [ -f $PWD\plugins ]; then PLUG=$PWD\plugins else PLUG=$PWD\plug-ins fi cd $PLUG if [ ! -f .\update ]; then mkdir update echo Making Directory "update".. fi # Plugins Found for i in $( ls ); do PLUGINNAME=$i done cd .\update wget $PLUGINDOWNLOADLINK # No Plugins […]

如何使用大括号扩展的variables

我有四个文件: 1.txt 2.txt 3.txt 4.txt 在linux shell中,我可以使用: ls {1..4}.txt来列出所有的四个文件,但是如果我设置两个variables:var1 = 1和var2 = 4,如何列出这四个文件? 那是: var1=1 var2=4 ls {$var1..$var2}.txt # error 什么是正确的代码?

为什么我会在一个terminal上获得“暂停(tty输出)”,而在其他terminal却不能?

显然,我在tcsh shell中做了一些奇怪的事情,现在每当我在后台打印标准输出的应用程序被暂停(停止)的时候。 奇怪的是,这种行为只发生在这个terminal上; 如果我在另一个terminal上做同样的事情,应用程序只是在后台运行,并将其输出到terminal。 在“破”的terminal,我必须把暂停的应用程序回到前台(与fg )让它继续。 例: thehost:/tmp/test1(277)> ls -l & [3] 1454 thehost:/tmp/test1(278)> [3] + Suspended (tty output) ls –color=auto -l thehost:/tmp/test1(278)> fg ls –color=auto -l total 0 thehost:/tmp/test1(279)> 在另一个terminal执行相同的命令工作正常: thehost:/tmp/test1(8)> ls -l & [1] 2280 thehost:/tmp/test1(9)> total 0 [1] Done ls –color=auto -l thehost:/tmp/test1(9)> 在受影响的terminal启动一个bash也不能解决这个问题: thehost:/tmp/test1(280)> bash oliver@thehost:/tmp/test1$ ls -l & [1] 2263 […]

Bash – 如何把每一行放在引号内

我想把每一行放在引号内,比如: abcdefg hijklmn opqrst 转换成: "abcdefg" "hijklmn" "opqrst" 如何在Bash shell脚本中做到这一点?

zsh菜单完成导致zle重置提示后出现问题

我在我的.zshrc中有以下代码: TMOUT=1 TRAPALRM() { zle reset-prompt } 触发菜单完成后,菜单中的所有项目,除了突出显示的一个在TRAPALRM触发之后消失,以及在菜单zsh segvaults中在短时间后继续导航 有没有解决方法或解决方法? 编辑:zsh版本是在Linux Mint 17上的5.0.2 编辑:我在Gentoo的zsh版本5.0.7上观察同样的事情

用于https(SSL)的Curl命令

我想运行下面的CURL命令,但我得到一个SSL证书错误: curl https://example.com:8443/cli/agentCLI -u username:password 错误: curl:(60)SSL证书问题,请validationCA证书是否正确。 详细信息:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书validation失败更多详细信息,请访问: http ://curl.haxx.se/docs/sslcerts.html curl默认使用证书颁发机构(CA)公钥(CA证书)的“包”来执行SSL证书validation。 默认包名为curl-ca-bundle.crt; 您可以使用–cacert选项指定备用文件。 如果此HTTPS服务器使用包中表示的由CA签名的证书,则证书validation可能由于证书问题(可能已过期,或名称可能与URL中的域名不匹配)而失败。 如果您想closures卷发的证书validation,请使用-k(或–insecure)选项。 我将如何解决这个问题,以允许SSL URL?

为什么uniq在这个大文件上工作? 庆典

我真的很抱歉,这个其他的noob问题,但我真的不知道这里发生了什么。 我想从文件中计算单词的频率,单词是逐行的。 该文件真的很大,所以这可能是问题(在这个例子中,它是30万行) 我做这个命令: cat .temp_occ | uniq -c | sort -k1,1nr -k2 > distribution.txt 问题是它给了我一个小错误:它认为我是相同的词不同。 例如,第一个条目是: 306 continua 278 apertura 211 eventi 189 murah 182 giochi 167 giochi 你可以看到giochi重复了两次 在文件的底部,它变得更糟,它看起来像这样: 1 win 1 win 1 win 1 win 1 win 1 win 1 win 1 win 1 win 1 winchester 1 wind 1 wind […]