如何将文件中的值分配给 UNIX sh shell 中的变量?

2024-05-09

我一直在搜索这个网站,试图找到这个问题的答案,并发现了几个非常好的答案,不幸的是,它们都不适合我。

这是我正在使用的脚本:

VALUE=`cat szpfxct.tmp`
export VALUE
echo " "                >>$LGFILE
echo "term code " $VALUE >>$LGFILE

打开 tmp 文件时,我看到一个应分配给 VALUE 的字符串 (201510)。但是,在日志文件中,它回显“术语代码”,显示 $VALUE 为空。

该文件的权限是好的:-rw-rw-rw- 1 oracle dba 7 Oct 26 21:30 szpfxct.tmp。从命令行单独执行时,这些命令运行良好。

这是完整的脚本:

#!/usr/bin/sh

######################################
# Create Log File
######################################

LGFILE=$HOME/szpfxct_$ONE_UP.log
export LGFILE

echo "*********************************" >$LGFILE
echo "Start SZPFXCT Fix Enrollment Counts   " >>$LGFILE
echo "*********************************" >>$LGFILE
echo "    " >>$LGFILE
echo "starting szpfxct" `date` >> $LGFILE

echo $BANUID    >>$LGFILE
echo $PSWD
echo $ONE_UP >>$LGFILE

#####################################
# Retrieve Parameter
#####################################

sqlplus $UIPW @$BANNER_LINKS/szpfxct.sql $ONE_UP 1>> $LOG 2>&1
sqlplus baninst1/[password] <<ENDsql
set echo off
set feedback off
set verify off
set timing off
set showmode off
set time off
set pagesize 60
set serveroutput on size 1000000;

clear breaks
clear computes
ttitle off

DECLARE

    output_file       utl_file.file_type;
    term_code         stvterm.stvterm_code%TYPE;

BEGIN
   output_file := utl_file.fopen('/export/home/jobsub','szpfxct.tmp','w');
    SELECT substr(gjbprun_value,1,6)
      into term_code
      from gjbprun
     where gjbprun_job = 'SZPFXCT' and
           gjbprun_number = '01' and
           gjbprun_one_up_no = $ONE_UP;

   utl_file.put_line(output_file, term_code);

   utl_file.fclose_all;
END;
/
ENDsql
#TPS
chmod 777 szpfxct.tmp
VALUE=`cat szpfxct.tmp`
export VALUE
echo " "                >>$LGFILE
echo "term code " $VALUE >>$LGFILE

尝试这个。它可能会让您了解您遇到的问题:

VALUE="`cat szpfxct.tmp 2>&1`"
echo "term code '$VALUE'"
term code  'cat: szpfxct.tmp: No such file or directory'

在此示例中,我强制该文件不存在。另外,如果变量确实为空,您会意识到这一点,因为两边都会有单引号。如果只是空格,则引号之间会有一个或多个空格。

我建议这样做是因为在某些脚本中,stderr 可能已发送到您不再看到它的地方。如果您的脚本中只有您显示的这几行,那么我无法解释为什么您看不到 stderr 输出。另外,让我们知道您正在使用哪个 shell 解释器可能会有所帮助。我尝试了 sh 和 bash 但无法复制您的问题。这就是为什么我希望这一变化能够提供更多信息。如果没有,也试试这个:

VALUE="`pwd ; cat szpfxct.tmp 2>&1`"

也许你不在你期望的目录中,而那个目录也有这样的文件,但它是空的。

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

如何将文件中的值分配给 UNIX sh shell 中的变量? 的相关文章

  • 拼写检查 shell 脚本

    我有一些疑问 我对一个应该是简单拼写检查器的脚本有疑问 它的目的是 当发现错误的单词时 它会提示用户输入该单词的正确拼写 如果用户输入正确的拼写 则会显示更正的单词以及错误的单词 下面 在读完所有单词之后 但是 如果用户只是按 Enter
  • 何时用引号将 shell 变量括起来?

    我应该或不应该在 shell 脚本中用引号括住变量吗 例如 下列说法正确的是 xdg open URL eq 2 or xdg open URL eq 2 如果是这样 为什么 一般规则 如果它可以为空或包含空格 或实际上任何空格 或特殊字符
  • 如何获取与 shell 中的文件名模式匹配的所有文件的总文件大小?

    我正在尝试仅使用 shell 来计算与文件名模式匹配的所有文件 在目录树中 的总大小 以字节为单位 这是我到目前为止所拥有的 find name undo exec stat c s awk 总计 1 END 打印总计 有没有更简单的方法来
  • Git - 显示远程分支的远程名称

    是否有一个 Git 命令可以显示远程分支的远程名称 目前 我坚持使用 shell utils 从远程分支引用中提取远程名称 例如 echo remote name branch name sed r s 1 remote name 有时出于
  • 在ubuntu中打开spyder

    我想在ubuntu中打开spyder Python IDE 通常我会在 shell 中编写 spyder 它会打开spyder IDE 现在 当我在shell中编写spyder时 它只是换行 什么也没有发生 类似于按 enter 我如何找回
  • system 和 shell_exec 之间的区别

    有什么区别shell exec and systemPHP 中的方法 两者都采用单个命令行参数并在 PHP 中运行 使用其中一种比另一种更好吗 请参阅此处的解释 http chipmunkninja com Program Executio
  • 在进行 sem_timedwait 时,我将如何应对系统时间的变化?

    假设我有一个使用的程序sem timedwait为了等待 100 毫秒 获取当前时间 添加 100 毫秒 将结果用作abs timeout 参见手册页 http man7 org linux man pages man3 sem wait
  • Crontab 每 5 分钟一次 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我如何告诉 crontab 每 5 分钟运行一次 但从每小时的第二分钟开始 换句话说 我想在以下时间执行我的脚本minute 5 2 例如 我的脚本应
  • 退出代码大于 255 — 可能吗?

    如果是 在哪个操作系统 shell 或其他操作系统上 考虑以下 Java 程序 我使用 Java 只是作为示例 任何语言都适合这个问题 这更多地与操作系统有关 public class ExitCode public static void
  • 正则表达式删除块注释也删除 * 选择器

    我正在尝试使用 bash 从 css 文件中删除所有块注释 我有以下 sed 命令的正则表达式 sed r s w s w d 这可以很好地去除块注释 例如 This is a comment this is another comment
  • 在 bash 中添加(收集)退出代码

    我需要依赖于脚本中的几个单独的执行 并且不想将它们全部捆绑在一个丑陋的 if 语句中 我想使用退出代码 每次执行并添加它 最后 如果这个值超过阈值 我想执行一个命令 伪代码 ALLOWEDERROR 5 run something RESU
  • 如何制作 Bash 脚本来查找项目中未使用的图像?

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

    我正在尝试在 LaTeX 中执行以下操作 documentclass article begin document execute usr local bin my shell script sh end document 想法是执行 us
  • 在 VBA 中捕获 shell 命令的输出值?

    发现这个功能http www cpearson com excel ShellAndWait aspx http www cpearson com excel ShellAndWait aspx 但我还需要捕获 shell 的输出 有什么代
  • 添加文件时运行 shell 命令

    我的 Linux 机器上有一个名为 images 的文件夹 该文件夹连接到一个网站 该网站的管理员可以向该网站添加图片 但是 当添加图片时 我想要一个命令来运行调整目录中所有图片的大小 简而言之 我想知道当新文件添加到特定位置时如何使服务器
  • 并行运行 shell 脚本

    我有一个 shell 脚本 打乱大型文本文件 600 万行和 6 列 根据第一列对文件进行排序 输出 1000 个文件 所以伪代码看起来像这样 file1 sh bin bash for i in seq 1 1000 do Generat
  • 使用 xlib 在屏幕顶部绘图

    我想在屏幕上的所有窗口顶部绘制一些图元 我在 C 中找到了一些代码并尝试将其移植以使用 python 的 xlib from Xlib display import Display from Xlib import X from Xlib
  • 如何设置 tmux 在启动时打开指定的窗口?

    如何设置 tmux 使其在启动时打开指定的窗口 您可以编写一个小 shell 脚本来启动 tmux 以及所需的程序 我在一个名为 dev tmux 的 shell 脚本中包含以下内容 开发环境 bin sh tmux new session
  • Jenkins:如何在 Windows 从机中执行 shell 脚本

    我有一个 Windows 从机 安装了 bash 我正在尝试在其上运行 shell 脚本作为预构建步骤 关于我如何做到这一点有什么想法吗 您需要使用脚本作为参数来运行 bash bash yourscript
  • 在 macOS 上使用 find 时出现“非法选项”错误

    我试图列出末尾仅带有字母 R 的文件 我用了find在 macOS 终端中如下所示 find type f name R 但我收到消息说illegal option t 第一个参数find是它应该开始寻找的路径 路径 表示当前目录 find

随机推荐

  • 如何在Android首选项中正确接收和存储本地目录/路径?

    我想存储一个本地路径 内部或外部存储 用户可以在其中存储一些数据作为 Android 应用程序中的首选项 我希望用户在首选项中选择一个首选文件夹 默认文件夹是context externalMediaDirs它返回一个File我将其绝对路径
  • 具有类类型的 Java 反射 getDeclaredMethod()

    我试图理解 Java 反射 但在使用非整数 setter 方法时遇到困难 例如 如何解析下面的 getDeclaredMethod 调用 import java lang reflect class Target String value
  • Keras LSTM 密集层多维输入

    我正在尝试创建一个 keras LSTM 来预测时间序列 我的 x train 形状像 3000 15 10 示例 时间步长 特征 y train 形状像 3000 15 1 我正在尝试构建一个多对多模型 每个序列 10 个输入特征产生 1
  • 使用位移可视化 NER 训练数据和实体

    我创建了一个用于训练 NER 数据的数据集 创建后 我想在应用于训练管道之前测试实体和数据是否匹配 使用置换 我们可以以更好的方式进行可视化 但在 spacy 3 中如何做到这一点呢 上述问题的代码如下 import spacy from
  • 将阿拉伯文本分配给 R 变量

    R 无法正确显示阿拉伯文本 当我使用阿拉伯语时 我得到了非常奇怪的东西 这是一个屏幕截图 问题是我想创建一个带有阿拉伯文本的词云 我需要首先解决这个问题 R 版本 R 2 15 2 GUI 1 53 Leopard 版本 64 位 6335
  • RadGridView检测CellClick事件按钮

    如何检测在事件 CellClick 中按下了哪个鼠标按钮 或者如何检测在事件 MouseClick 中按下了哪个单元格 您可以使用鼠标单击事件检测单击了哪个单元格 然后你必须将 sender 转换为 RadGridView 然后使用 Cur
  • Room 分页无法正确地将 Flow> 与其他流合并

    我正在尝试使用Paging 3库来获取Flow
  • 如何使用 IPP 将 RGB 颜色空间转换为 NV12 颜色空间

    英特尔 Media SDK 等视频编码器需要 NV12 视频输入格式 NV12格式 http www fourcc org yuv php NV12是 YUV 4 2 0 格式 在内存中排序 首先是 Y 平面 然后是交错 UV 平面中的打包
  • 复杂的 Activiti + JPA 查询

    我们正在尝试在一个新项目中使用Activiti 我创建了一个设置 它通过 JPA 使用 Hibernate 来持久保存流程中涉及的实体 并且 JPA 与 Activiti 互连 因此我们可以将这些实体用作 JPA 变量 看 Activiti
  • 使用 xamarin 表单的 android 13 上的存储权限问题

    我在 Visual Studio 2022 的帮助下为我的 Android 项目使用 xamarin forms 当我将代码运行到我的移动 Android 13 时 我没有获得 Android 13 的弹出权限 我只是将 androidta
  • 68HC11计算sin(x)的汇编代码

    68HC11 使用泰勒级数或查找表计算正弦值的汇编代码是什么 显示值只能是整数 查找表如何工作 在这种情况下 如何使用它来实现泰勒级数 http en wikipedia org wiki Taylor series 如果您正在寻找浮点解决
  • ggmap 错误:GeomRasterAnn 是使用不兼容版本的 ggproto 构建的

    我正在使用 ggmap 并收到以下错误 Error GeomRasterAnn was built with an incompatible version of ggproto Please reinstall the package t
  • Spring boot MongoRepository 中的“无法找到类型类的 PersistentEntity”异常

    在这里我在 mongodb 中配置了两个数据库 如本教程中所述 link https blog marcosbarbero com multiple mongodb connectors in spring boot 所以基本上我重写了Mo
  • 在C++中初始化静态指针

    我有一个带有静态成员的类 它是一个指针 如下所示 动画 h class Animation public Animation static QString m 动画 cpp include animation h QString Anima
  • 如何在 primefaces 媒体标签中重命名 PDF

    我在 primefaces 中使用流式内容并使用媒体标签来显示它 当在查看器中按下下载按钮时 它会下载名为dynamiccontent properties的文件 有什么办法可以重命名吗 我正在使用 html4 java 7 和 prime
  • FindWindow() 找不到我的窗口 [C++]

    这不是一个复杂的问题 我无法找到属于 iTunes 的句柄 但是虽然 iTunes 在后台运行 但它一直告诉我找不到该窗口 所以我继续检查我是否错过了输入窗口名称 但是间谍 向我指出我使用了正确的窗口名称和类名称 见下文 我确信这是一个小错
  • Visual Studio 2008 中的本地化

    我正在尝试在 VS2008 中本地化桌面应用程序 C 我已经掌握了多种语言的表单本地化 并且我还有一个用于通用字符串的项目资源文件 但我无法弄清楚如何创建该文件的多个语言版本 似乎没有任何地方记录它 结果似乎是 如果我想生成应用程序的德语版
  • 从 data.frame 创建新列

    我有一个长格式的数据集 其中测量 时间 嵌套在 Networkpartners NP 中 而 Networkpartners NP 又嵌套在人员 ID 中 下面是它的示例 真实数据集有数千行 ID NP Time Outcome 1 11
  • 带有添加新选项卡按钮 (+) 的 TabControl

    在 WPF 中选项卡控件的选项卡条中的所有选项卡项的末尾添加 按钮选项卡的正确方法是什么 它应该可以正确地处理多个选项卡标题行 它应该位于所有选项卡项目的末尾 Tab cycling should work correctly Alt Ta
  • 如何将文件中的值分配给 UNIX sh shell 中的变量?

    我一直在搜索这个网站 试图找到这个问题的答案 并发现了几个非常好的答案 不幸的是 它们都不适合我 这是我正在使用的脚本 VALUE cat szpfxct tmp export VALUE echo gt gt LGFILE echo te