当前位置: 首页 > 面试题库 >

Shell脚本,将命令值保存到变量

盖成弘
2023-03-14
问题内容

我试图VARI在同一行中打印逗号后的值,以便我可以拥有这些值的csv文件,但即时通讯无法保存的值 VARI = 'cat filename | head -1 | cut -d, -f${i}'

i=0
while (( i<130)) ;
do
  if [[ $i -eq 1 ||  $i -eq 9 || $i -eq 12 || $i -eq 23 || $i -eq 25 || $i -eq 29 ]]
  then
    VARI = 'cat filename | head -1 | cut -d, -f${i}'
    echo  "$VARI ,"   
  fi
  let i=$i+1;
done

预期输出为

4,abc,5,8,xyz,9

请让我知道我做错了,谢谢!


问题答案:

使用反引号(或$()-可以嵌套),而不是单引号:

VARI=`cat filename | head -1 | cut -d, -f${i}` # or:
VARI=$(cat filename | head -1 | cut -d, -f${i})


 类似资料:
  • 问题内容: 我想将要在以后使用的命令存储在变量中(不是命令的输出,而是命令本身) 我有一个简单的脚本,如下所示: 但是,当我尝试更复杂的操作时,它会失败。例如,如果我做 输出为: 知道如何将这样的命令(带有管道/多个命令)存储在变量中以备后用吗? 问题答案: 使用eval:

  • 问题内容: 我想通过Python将Shell命令的输出保存到文本文件中。这是我实际的,非常基本的python代码: 编辑 这里是最终脚本,谢谢您的帮助:) 问题答案: 尝试这样的事情: 编辑 :满足您的需求

  • stty 命令 stty -echo #禁止将输入信息显示在终端 stty echo #允许输入信息显示在终端,默认显示 tput 命令 tput clear #清空终端 tput civis #光标不可见 tput cnorm #光标可见 read 命令 read name #读取终端输入的值并赋值给 name 变量 echo $name #输出变量值 read userna

  • 问题内容: 我想在脚本内部使用一个变量,然后将其值传递给Shell脚本执行(作为环境变量或命令行参数)。 但是以下内容: 给出输出: 所需的输出类似于: 任何想法如何将值传递给shell scipt吗? 编辑: 基于马特的]答案,我现在使用此解决方案: 好处是,我不需要在shell脚本中转义。 问题答案: 您的代码使用文字字符串,因此您的Jenkins变量将不会在shell命令中插入。您需要使用来

  • 我想在脚本中使用一个变量,然后将其值传递到shell脚本执行中(作为环境变量或命令行参数)。 但是下面的: 给出输出: 期望的输出是这样的: 你知道如何将的值传递给shell scipt吗? 编辑:根据Matt的回答,我现在使用以下解决方案: 优点是,我不需要在shell脚本中转义。

  • 问题内容: 我正在编写一个shell脚本,以自动添加新用户并更新其密码。我不知道如何获取passwd来从shell脚本中读取,而不是交互式地提示我输入新密码。我的代码如下。 问题答案: 来自“ ”: 所以你的情况 [ 更新 ]评论中提到了一些问题: 您的命令可能没有选项:按照ashawley的建议使用实用程序。 如果您使用的不是bash外壳,则“echo”可能不是内置命令,外壳将调用。这是不安全的