小编Max*_*Max的帖子

在bash脚本中使用expect为SSH命令提供密码

对于那些想要回复我应该使用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的原因是因为我使用了一个菜单,我可以选择连接哪个单元.

谢谢

linux ssh bash expect

125
推荐指数
8
解决办法
35万
查看次数

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函数 - 它将所有参数作为单个命令运行并在失败时显示命令及其错误代码 …

bash command

75
推荐指数
5
解决办法
8万
查看次数

使用INDIRECT的动态图表范围:该功能无效(尽管范围突出显示)

我正在尝试创建一个使用该INDIRECT函数动态构建的范围的图表.Excel确实识别我正在创建的范围,INDIRECT因为它突出显示工作表上的相应范围:

在此输入图像描述

但是在保存图表时,我收到一条错误消息,指出该函数无效:

在此输入图像描述

有人知道问题是什么/如何创建从特定开始到特定终点的动态图表范围?

PS:你可以在这里下载上面的电子表格.我使用的公式:
=INDIRECT("sheet!"&E2&":"&E3)

excel dynamic range excel-formula excel-indirect

28
推荐指数
2
解决办法
9万
查看次数

将非ASCII字符(变音符号,重音符号...)转换为最接近的ASCII等效符号(段塞创建)

我正在寻找JavaScriptASCII字符串中的非字符转换为最接近的等价物的方法,类似于PHP iconv函数的作用.例如,如果输入字符串是Rånades på Skyttis i Ö-vik,则应将其转换为Ranades pa skyttis i o-vik.我看了看phpjsiconv不包括在内.

是否可以在JavaScript中执行此类转换,如果是这样的话?

javascript ascii converter character-encoding slug

24
推荐指数
1
解决办法
8312
查看次数

使用jQuery在hover/out上展开/收缩div

我正在寻找一个jQuery插件来扩展div元素,以便在悬停时显示它们的溢出(如果有的话).插图:

在此输入图像描述

该插件应该在相对定位div的(我猜想暗示你创建一个副本div,将其定位设置为绝对,然后找出放置它的位置).

那里有这样的插件吗?

html jquery position hover

23
推荐指数
2
解决办法
4万
查看次数

CodeIgniter有插件/扩展/模块吗?

我正在寻找一些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社区贡献和可重用库的名称是什么?你能共享一个到他们主存储库的链接吗?

plugins codeigniter reusability

18
推荐指数
1
解决办法
3万
查看次数

Bash中的多维关联数组

我正在尝试创建一个多维关联数组但需要一些帮助.我已经回顾了这个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

17
推荐指数
2
解决办法
4万
查看次数

尽管使用PHP有适当的权限,但权限被拒绝

我正在尝试用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)

php apache permissions file

14
推荐指数
3
解决办法
3万
查看次数

如何在bash中找到另一个脚本调用的脚本名称("sourced")?

可能重复:
在bash脚本中如何知道脚本文件名?
如何访问您在Bash中采购的文件的基本文件名

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.shfile2.sh

bash

14
推荐指数
1
解决办法
7139
查看次数

致命错误:ZF2 beta5骨架应用程序找不到类'Locale'

我刚刚按照给定的说明安装了ZF2beta5应用程序:

$ 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).

有人知道如何解决这个问题吗?

beta zend-framework2

14
推荐指数
1
解决办法
2万
查看次数