对于那些想要回复我应该使用SSH密钥的人请弃权
我正在尝试在bash脚本中使用expect来提供SSH密码.提供密码是有效的,但我不会像我应该的那样在SSH会话中结束,它会回到海峡.
我的剧本:
#!/bin/bash
read -s PWD
/usr/bin/expect <<EOD
spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no usr@$myhost.example.com'
expect "password"
send "$PWD\n"
EOD
echo "you're out"
Run Code Online (Sandbox Code Playgroud)
我脚本的输出:
spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no usr@$myhost.example.com
usr@$myhost.example.com's password: you're out
Run Code Online (Sandbox Code Playgroud)
我想拥有我的SSH会话,只有当我退出它才能返回我的bash脚本.我之前使用bash的原因是因为我使用了一个菜单,我可以选择连接哪个单元.
谢谢
我试图回应在bash脚本中运行的最后一个命令.我找到了一种方法来实现它,history,tail,head,sed
当命令代表我的脚本中从解析器角度来看特定行时,它可以正常工作.但是在某些情况下我没有得到预期的输出,例如当命令插入case
语句中时:
剧本:
#!/bin/bash
set -o history
date
last=$(echo `history |tail -n2 |head -n1` | sed 's/[0-9]* //')
echo "last command is [$last]"
case "1" in
"1")
date
last=$(echo `history |tail -n2 |head -n1` | sed 's/[0-9]* //')
echo "last command is [$last]"
;;
esac
Run Code Online (Sandbox Code Playgroud)
输出:
Tue May 24 12:36:04 CEST 2011
last command is [date]
Tue May 24 12:36:04 CEST 2011
last command is [echo "last command is [$last]"]
Run Code Online (Sandbox Code Playgroud)
[问]有人可以帮我找到一种方法来回显最后一次运行命令,无论在bash脚本中调用此命令的方式/位置如何?
我的答案
尽管我的SO同事非常赞赏,但我选择编写一个run
函数 - 它将所有参数作为单个命令运行并在失败时显示命令及其错误代码 …
我正在尝试创建一个使用该INDIRECT
函数动态构建的范围的图表.Excel确实识别我正在创建的范围,INDIRECT
因为它突出显示工作表上的相应范围:
但是在保存图表时,我收到一条错误消息,指出该函数无效:
有人知道问题是什么/如何创建从特定开始到特定终点的动态图表范围?
PS:你可以在这里下载上面的电子表格.我使用的公式:
=INDIRECT("sheet!"&E2&":"&E3)
我正在寻找一个jQuery
插件来扩展div
元素,以便在悬停时显示它们的溢出(如果有的话).插图:
该插件应该在相对定位div
的(我猜想暗示你创建一个副本div
,将其定位设置为绝对,然后找出放置它的位置).
那里有这样的插件吗?
我正在寻找一些PHP
框架,并注意到它们都以各种形式提供可重用,社区贡献的代码:
- Symfony 2(捆绑包):http://knpbundles.com/
- Zend Framework 2(模块):http://modules.zendframework.com/
- CakePHP(插件):http://plugins.cakephp.org/
- Yii框架(扩展):http://www.yiiframework.com/extensions/
但是我找不到Code Igniter的任何东西(我在这篇SO帖子中看到Code Igniter曾经有插件被帮助器取代,但当我谷歌搜索"Code Igniter helpers"或"Code Igniter插件"时我不能找到任何存储库).
Code Igniter社区贡献和可重用库的名称是什么?你能共享一个到他们主存储库的链接吗?
我正在尝试创建一个多维关联数组但需要一些帮助.我已经回顾了这个SO答案中建议的页面,但它让我更加困惑.到目前为止,我所拥有的是:
剧本:
#!/bin/bash
declare -A PERSONS
declare -A PERSON
PERSON["FNAME"]='John'
PERSON["LNAME"]='Andrew'
PERSONS["1"]=${PERSON[@]}
PERSON["FNAME"]='Elen'
PERSON["LNAME"]='Murray'
PERSONS["2"]=${PERSON[@]}
for KEY in "${!PERSONS[@]}"; do
TMP="${PERSONS["$KEY"]}"
echo "$KEY - $TMP"
echo "${TMP["FNAME"]}"
echo "${TMP["LNAME"]}"
done
Run Code Online (Sandbox Code Playgroud)
输出:
1 - John Andrew
John Andrew
John Andrew
2 - Elen Murray
Elen Murray
Elen Murray
Run Code Online (Sandbox Code Playgroud)
如您所见,在for循环中尝试访问$ TMP数组的特定索引会返回整个数组.
[问]为了分别访问for
循环内$ TMP数组的"FNAME"和"LNAME"索引,我需要做什么?
谢谢.
bash hash associative-array hashtable multidimensional-array
我正在尝试用PHP读取文件,虽然每个人都有对该文件的读取权限,但我收到了一个权限被拒绝的错误.
PHP代码:
$config=file_get_contents('/opt/jenkins/home/config.xml');
Run Code Online (Sandbox Code Playgroud)
错误:
Warning: file_get_contents(/opt/jenkins/home/config.xml): failed to open stream: Permission denied in [...]
Run Code Online (Sandbox Code Playgroud)
文件系统权限:
有一个符号链接指向/opt/jenkins/home/
,/var/lib/jenkins
并且每个人都对符号链接,实际文件夹和文件具有读取权限.
$ ls -lh /opt/jenkins/
lrwxrwxrwx 1 sysadmin sysadmin 16 2011-08-04 08:12 home -> /var/lib/jenkins
$ ls -lh /var/lib/ | grep jenkins
drwxr-xr-- 6 jenkins adm 4.0K 2011-08-04 10:04 jenkins
$ ls -lh /var/lib/jenkins/config.xml
-rwxr-xr-- 1 jenkins adm 3.9K 2011-08-04 10:05 /var/lib/jenkins/config.xml
Run Code Online (Sandbox Code Playgroud)
Apache配置
配置为删除符号链接(Options All
).添加Directory
指令/var/lib/jenkins/
没有任何区别.
<Directory /opt/jenkins/home/>
Options All
AllowOverride All
Order Allow,Deny
Allow from …
Run Code Online (Sandbox Code Playgroud) 当source
用于从另一个脚本调用bash脚本时,我无法从该脚本中找出被调用脚本的名称.
file1.sh
#!/bin/bash
echo "from file1: $0"
source file2.sh
Run Code Online (Sandbox Code Playgroud)
file2.sh
#!/bin/bash
echo "from file2: $0"
Run Code Online (Sandbox Code Playgroud)
运行file1.sh
$ ./file1.sh
from file1: ./file1.sh # expected
from file2: ./file1.sh # was expecting ./file2.sh
Run Code Online (Sandbox Code Playgroud)
问:我怎样才能检索到file2.sh
的file2.sh
?
我刚刚按照给定的说明安装了ZF2
beta5应用程序:
$ git clone git://github.com/zendframework/ZendSkeletonApplication.git ./
Cloning into '.'...
remote: Counting objects: 1494, done.
remote: Compressing objects: 100% (660/660), done.
remote: Total 1494 (delta 681), reused 1373 (delta 581)
Receiving objects: 100% (1494/1494), 397.42 KiB | 357 KiB/s, done.
Resolving deltas: 100% (681/681), done.
$ php composer.phar install
Installing dependencies
- Installing zendframework/zendframework (dev-master)
Cloning d6b0afe61149c6d0669743aab5c73285c42cd0db
zendframework/zendframework suggests installing doctrine/common (Doctrine\Common >=2.1 for annotation features)
Writing lock file
Generating autoload files
Run Code Online (Sandbox Code Playgroud)
当我访问该应用程序时,我收到以下错误:
致命错误:第220行的./vendor/zendframework/zendframework/library/Zend/I18n/Translator/Translator.php中找不到类"区域设置"
我没有Doctrine
按照建议尝试安装(因为我最后不想使用Doctrine).
有人知道如何解决这个问题吗?