Expect 脚本中 sudo 的问题

2024-04-21

我正在运行以下脚本

#!/usr/bin/expect -f

set user [lindex $argv 0]
set pass [lindex $argv 1]
set PATH [lindex $argv 2]
set INV_PATH [lindex $argv 3]

spawn ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $user@localhost

expect "assword: "
send "$pass\r"
expect "$ "
send "echo $pass | /usr/local/bin/sudo -S $INV_PATH/orainstRoot.sh\r"

expect "$ "
send "cd $PATH/bin\r"

expect "$ "
send "echo $pass | /usr/local/bin/sudo -S cp oraenv coraenv sqlplus dbhome /usr/bin\r"

expect "$ "
send "echo $pass | /usr/local/bin/sudo -S $PATH/root.sh\r"

expect "Check"
send "\r"

Its 在某些机器上工作正常对于某些机器,它会抛出以下错误...我已经检查过,它不是导致问题的路径。

/usr/local/bin/sudo: /scratch/prod_sw/app/oraInventory/orainstRoot.sh: command not found
$ echo PASSWD | /usr/local/bin/sudo -S cd /scratch/prod_sw/app/prod_sw/product/11.2.0/db_home/bin
/usr/local/bin/sudo: cd: command not found
$ echo PASSWD | /usr/local/bin/sudo -S cp oraenv coraenv sqlplus dbhome /usr/bin
cp: cannot stat `oraenv': No such file or directory
cp: cannot stat `coraenv': No such file or directory
cp: cannot stat `sqlplus': No such file or directory
cp: cannot stat `dbhome': No such file or directory
$ echo PASSWD | /usr/local/bin/sudo -S /scratch/prod_sw/app/prod_sw/product/11.2.0/db_home//root.sh
Check /scratch/prod_sw/app/prod_sw/product/11.2.0/db_home/install/root_slcad22rhu_2013-07-22_04-41-49.log for the output of root script

尝试给出这些文件的完整路径并检查一次。

cp /path/oraenv /path/coraenv /path/sqlplus /path/dbhome /usr/bin

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Expect 脚本中 sudo 的问题 的相关文章

  • system 和 shell_exec 之间的区别

    有什么区别shell exec and systemPHP 中的方法 两者都采用单个命令行参数并在 PHP 中运行 使用其中一种比另一种更好吗 请参阅此处的解释 http chipmunkninja com Program Executio
  • 如何在 Linux 和 C 中使用文件作为互斥体?

    我有不同的进程同时访问 Linux 中的命名管道 并且我想让此访问互斥 我知道可以使用放置在共享内存区域中的互斥体来实现这一点 但作为一种家庭作业 我有一些限制 于是 我想到的是对文件使用锁定原语来实现互斥 我做了一些尝试 但无法使其发挥作
  • LINUX:如何锁定内存中进程的页面

    我有一个 LINUX 服务器 运行一个具有大量内存占用的进程 某种数据库引擎 该进程分配的内存太大 需要将其中一部分换出 换出 我想做的是将所有其他进程 或正在运行的进程的子集 的内存页面锁定在内存中 以便只有数据库进程的页面被换出 例如
  • Linux无法删除文件

    当我找到文件时 我在删除它们时遇到问题 任务 必须找到带有空格的文件并将其删除 我的尝试 rm find L root grep i 但我有错误 rm cannot remove root test No such file or dire
  • 来自守护程序的错误响应:加入会话密钥环:创建会话密钥:超出磁盘配额

    我尝试在我的服务器上安装 docker 使用本教程 https docs docker com install linux docker ce ubuntu 我想远程运行 docker 镜像并使用 portainer Web 界面来管理一切
  • Ubuntu Python shebang 线不工作

    无法让 shebang 线在 Ubuntu 中为 python 脚本工作 我每次只收到命令未找到错误 test py usr bin env python print Ran which python usr bin python 在 sh
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • Linux 使用 boost asio 拒绝套接字绑定权限

    我在绑定套接字时遇到问题 并且以用户身份运行程序时权限被拒绝 这行代码会产生错误 acceptor new boost asio ip tcp acceptor io boost asio ip tcp endpoint boost asi
  • 如何才能将 TCP 连接返回到同一端口?

    机器是 RHEL 5 3 内核 2 6 18 有时我在 netstat 中注意到我的应用程序有连接 建立了 TCP 连接本地地址 and 国外地址是一样的 其他人也报告了同样的问题 症状与链接中描述的相同 客户端连接到本地运行的服务器的端口
  • 关键字“if”如何测试一个值是真还是假?

    在 bash 脚本中 if 1 then echo Yes else echo No fi Output Yes 它表示 1 被视为真值 但在代码中 word Linux letter nuxi if echo word grep q le
  • awk 在循环中使用时不打印任何内容[重复]

    这个问题在这里已经有答案了 我有一堆使用 file 1 a 1 txt 格式的文件 如下所示 A 1 B 2 C 3 D 4 并使用以下命令添加包含每个文件名称的新列 awk print FILENAME NF t 0 file 1 a 1
  • 在 docker 中重定向命令输出

    我想为我的服务器做一些简单的日志记录 它是一个在 Docker 容器中运行的小型 Flask 应用程序 这是 Dockerfile Dockerfile FROM dreen flask MAINTAINER dreen WORKDIR s
  • vmsplice() 和 TCP

    在原来的vmsplice 执行 有人建议 http lwn net Articles 181169 如果您的用户态缓冲区是管道中可容纳的最大页面数的 2 倍 则缓冲区后半部分成功的 vmsplice 将保证内核使用缓冲区的前半部分完成 但事
  • 批量删除文件名中包含 BASH 中特殊字符的子字符串

    我的目录中有一个文件列表 opencv calib3d so2410 so opencv contrib so2410 so opencv core so2410 so opencv features2d so2410 so opencv
  • 在内核代码中查找函数的最佳方法[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我开始浏览内核代码 遇到的一件事是如何跟踪函数调用 结构定义等 有没有一种好的方法可以快速跳转到函数定义并退出 我尝试过 Source N
  • shell中如何分割字符串

    我有一个变量作为 string ABC400p2q4 我怎样才能分开ABC400 and p2q4 我需要将它分成两个变量 结果我得到 echo var1 ABC400 echo var2 p2q4 可以用任何字母字符代替 ABC 可以用任
  • 如何制作 Bash 脚本来查找项目中未使用的图像?

    如何制作一个 Bash shell 脚本 它可以识别所有 jpg gif 和 png 文件 然后识别文件夹中任何文本文件中哪些文件未通过 url href 或 src 链接 这就是我开始的 但我最终得到了与我想要的相反的结果 我不想知道引用
  • linux下无法创建僵尸进程

    嗯 我有一个奇怪的问题 我无法在我的项目中创建僵尸进程 但我可以在其他文件中创建僵尸进程 有简单的说明 int main if fork 0 printf Some instructions n else sleep 10 wait 0 r
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的
  • 通过 Visual Studio 2017 使用远程调试时 Linux 控制台输出在哪里?

    我的Visual Studio 2017 VS2017 成功连接Linux系统 代码如下 include

随机推荐

  • Google Tensorflow 中的事件文件

    我正在使用 Tensorflow 构建神经网络 我想在 Tensorboard 上显示训练结果 到目前为止一切正常 但我对 Tensorboard 的 事件文件 有疑问 我注意到每次运行 python 脚本时 它都会生成不同的事件文件 当我
  • java重写方法调用

    我有一个超级课程 public class SuperClass public void dosomething firstMethod secondMethod public void firstMethod System out pri
  • Javascript:如何根据项目属性值删除数组项目(JSON 对象)?

    像这样 var arr name robin age 19 name tom age 29 name test age 39 我想删除这样的数组项 数组原型方法 arr remove name test remove by name arr
  • 启用 SplitView 和 MultiTask iPad 混合应用程序。删除交互

    我们有 ionic iPad 应用程序 使用 cordova 电容器平台 我们使用以下链接启用了 iPad 13 的分割视图https en gg enable ipad split screen feature in an ionic o
  • 如何在 Android 应用程序中合理管理音频音量?

    我有一个应用程序 在其活动打开时播放间歇性声音 用户总是期望它发出这些声音 但不幸的是它受到音乐流音量的限制 我发现的选项是 调整音乐流的音量 如果用户当时正在播放音乐 则可能会使用户耳聋 如果音乐流的音量为0 则调用MediaPlayer
  • 如何在 Tensorflow 上测试自己的图像到 Cifar-10 教程?

    我训练了 Tensorflow Cifar10 模型 我想为其提供自己的单个图像 32 32 jpg png 我想将标签和每个标签的概率视为输出 但我对此遇到了一些麻烦 搜索堆栈溢出后 我发现了一些帖子this https stackove
  • 从 nib 初始化自定义 UITableViewCell,无需 dequeueReusableCellWithIdentifier

    SWIFT 我需要制作一个单元格数组 我有一些带有 nib 文件的自定义单元格类 继承自 UITableViewCell 如何在不在表视图中注册笔尖并执行 dequeueReusableCellWithIdentifier 的情况下初始化单
  • 如何设置 MySQL 以便与 C# 一起使用?

    我的任务是为旧网站创建一个新的前端 它是用 php oo 之前的版本 编写的 并使用 MySQL 数据库 主机提供 Net包 但不提供Ms Sql Server 这很好 因为数据库工作正常 但我真的想使用 Asp net 作为页面 然而 我
  • 在 NSMenuItem 中使用 NSProgressIndicator

    我正在尝试在状态栏菜单内使用 NSProgressIndicator 不确定 我使用 NSView 对象作为菜单项的视图 然后子视图进度指示器来显示它 但是每当我尝试调用 startAnimation 来获取进度时 什么也没有发生 当我尝试
  • 使用conftest.py 与从专用模块导入装置

    我最近开始熟悉 pytest 以及如何使用conftest py定义在我的测试中自动发现和导入的装置 我很清楚如何conftest py工作原理以及如何使用它 但我不确定为什么这在某些基本场景中被认为是最佳实践 假设我的测试是这样构建的 t
  • UITextView 可以容纳多少文本?

    我有一个不可编辑的UITextView显示用户输入的文本 如果文本很长会发生什么 它会让我的应用程序崩溃吗 我应该对文本进行分页吗 iPhone 网络浏览器 如 Safari Chrome 或 Firefox 如何处理此问题 有没有类似的东
  • 如何在Cloudant或CouchDB中使用skip参数?

    在 Cloudant 或 CouchDB 的索引中使用 Skip 参数是否存在潜在的性能损失 有更好的技术可以使用吗 The 在 CouchDB 中写入和查询 MapReduce 视图 http my safaribooksonline c
  • React antd 轮播方法

    我正在考虑使用antd轮播 但我还没有看到描述如何使用的示例goTo slideNumber dontAnimate 方法 我尝试过使用这个问题的答案带箭头的react js antd轮播 https stackoverflow com q
  • Xamarin 不尊重 JDK 位置 (VS2015)

    我无法在 Visual studio 2015 中构建 Xamarin 应用程序 因为 Xamarin 忽略配置的 JDK 位置 我将 Xamarin 配置为使用 JDK 1 8 但构建仍然失败 因为它使用的是我从计算机中删除的旧 JDK
  • 在 Linux (libusb-1.0) 上访问 USB 设备?

    我正在编写一个小程序 使用 Linux 上的 libusb 1 0 与特定 USB HID 产品 由供应商和产品 ID 标识 进行通信 现在 我必须以 root 身份运行该程序 因为 libusb 需要对 USB 设备节点的写访问权限 有没
  • UNIQUE 约束失败:accounts_user.username

    让我们开始解决问题 我有一个页面 我希望用户在其中填写有关自己的信息 并且我想保存该数据 但我收到这个错误 IntegrityError at accounts profile edit 1 change profile UNIQUE co
  • python 中两个字符串的 Anagram 测试

    这是问题 编写一个名为 test for anagrams 的函数 该函数接收两个字符串 参数 均由字母字符组成 返回 如果两个字符串是字谜词 则为 True 否则为 False 两个字符串是 如果一个字符串可以通过重新排列来构造 则为 a
  • Silverlight 异步单元测试

    我在使用 Silverlight 单元测试框架时遇到了一个奇怪的问题 每次执行的第一个方法都会失败 我使用完全相同的代码进行了第二次测试 并且通过了 第一次调用的奇怪之处在于 它实际上是在等待超时and then执行存储库调用 如果您关心的
  • 张量流 LSTM 模型中的 NaN 损失

    以下网络代码应该是经典的简单 LSTM 语言模型 一段时间后开始输出 nan 损失 在我的训练集上 这需要几个小时 而且我无法在较小的数据集上轻松复制它 但在认真的训练中 这种情况总是会发生 Sparse softmax with cros
  • Expect 脚本中 sudo 的问题

    我正在运行以下脚本 usr bin expect f set user lindex argv 0 set pass lindex argv 1 set PATH lindex argv 2 set INV PATH lindex argv