AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-268014

AbdAllah Talaat's questions

Martin Hope
AbdAllah Talaat
Asked: 2019-06-30 06:24:38 +0800 CST

非登录非交互式 bash 启动问题

  • -1

我正在学习 bash 的启动文件,我找到了以下链接:

解释 bash 启动文件

然后在链接中图表的最后一个分支中,我发现如果 bash 是非登录非交互的,那么 env 变量应该来自环境变量 BASH_ENV ,我制作了一个测试文件并编写了 BASH_ENV="/home/myusername/ .bare.sh"

.bare.sh 的内容是:

var="the bare environment branch should be reached"

并启动了一个打印 var 的脚本:

echo $var

但启动脚本后没有输出

我希望它打印“应该到达裸环境分支”

这里可能是什么问题?

bash
  • 1 个回答
  • 219 Views
Martin Hope
AbdAllah Talaat
Asked: 2018-03-16 05:09:39 +0800 CST

文档方法之间的区别

  • 0

我对使用的三种文档技术感到困惑,我有以下关于man,pinfo,/usr/share/doc的问题

  • man命令是否显示与pinfo相同的内容,只是它们显示信息的方式不同?或者它们在内容和获取文档的源目录上完全不同?

  • 是否有任何man或pinfo查找 pinfo 查找/usr/share/doc 或者它只是搜索已安装软件包信息的第三种方式

documentation
  • 1 个回答
  • 44 Views
Martin Hope
AbdAllah Talaat
Asked: 2018-03-08 10:36:38 +0800 CST

echo [[:digit:]] 的意外行为

  • 10

我想问:

为什么echo {1,2,3}扩展为 1 2 3 这是预期的行为,而在我期望它打印从 to 的所有数字时echo [[:digit:]]返回?[[:digit:]]09

shell wildcards
  • 3 个回答
  • 2394 Views
Martin Hope
AbdAllah Talaat
Asked: 2018-01-24 12:49:54 +0800 CST

在某个索引处为数组赋值[重复]

  • 1
这个问题在这里已经有了答案:
shell 脚本中变量赋值中的空格 3 个答案
4年前关闭。

您好我正在尝试编写一个脚本来更新从文件中读取的行,到目前为止,除了下面提到的行之外,一切都运行良好

这是我的脚本:

#!/bin/bash     

#INITIALIZE PATHS
DB_PATH=${1}      
DATA_PATH="$DB_PATH/data/"
METADATA_PATH="$DB_PATH/metadata"   

#LOAD THE META DB FILE AND READ DATABASE NAME IN DB_NAME 
#READ ALSO COLUMNS IN AN ARRAY CALLED TABLE_NAMES                      
METADATA_LOAD=$(<"$METADATA_PATH/DB")
IFS=$'+'
read -a NAMES <<< "$METADATA_LOAD"



#PROMPET FOR TABLE TO UPDATE
echo ""
echo ""
echo ""
echo "You Currently Working with Database ${NAMES[0]}" 
echo ""
echo "You Have The Following Tables to Choose From :"
IFS=' '
for token in ${NAMES[@]:1}
do
echo "  $token"
done
echo ""
echo ""
echo ""
echo "Please Write The Name Of The Table You Want To Update :"
read CURRENT_TABLE


#Form META DATA TABLE FILE PATH
TABLE_DATA_PATH="$DB_PATH/data/$CURRENT_TABLE"
TABLE_METADATA_PATH="$DB_PATH/metadata/$CURRENT_TABLE"


#PROMPET WHICH COLUMN IS NEEDED TO CHECK FOR EQUALITY
echo ""
echo ""
echo ""
echo "The Table You Selected Have The Following Columns"
i=0 
TABLE_METADATA=$(<"$TABLE_METADATA_PATH")
IFS='+'
read -a CURRENT_TABLE_META <<< "$TABLE_METADATA"
IFS=' '
for token in ${CURRENT_TABLE_META[@]:1}
do
i=$(($i+1))
echo $i $token
done
echo "Please Enter The Number Column to Check For Equality"
read TEST_COLUMN_NUM
echo ""
echo ""
echo "Please Enter The Column Value to Check For Equality"
read TEST_COLUMN_VAL

echo "Please Enter The Column Number to Modify"
read MODIFY_COLUMN_NUM

echo "Please Enter The New Column Value"
read MODIFY_COLUMN_VAL

#Form DATA TABLE FILE PATH
TABLE_DATA=$(<"$TABLE_DATA_PATH") 


IFS=' '
read -a ROWS_ARRAY <<< "$TABLE_DATA"  




for CURRENT_ROW_INDEX in ${!ROWS_ARRAY[@]}
do

  IFS=':'
  read -a COLUMNS_ARRAY <<< "${ROWS_ARRAY[CURRENT_ROW_INDEX]}"

   for CURRENT_COL_INDEX in ${!COLUMNS_ARRAY[@]} 
   do

       if [[ ${COLUMNS_ARRAY[$CURRENT_COL_INDEX]} == $TEST_COLUMN_VAL  &&  $CURRENT_COL_INDEX -eq $(($TEST_COLUMN_NUM-1)) ]]
       then

           IFS=' '
           COLUMNS_ARRAY[$MODIFY_COLUMN_NUM] = "ABC"



       fi   

   done
done

我还没有完成脚本,但我在该行有一个错误:

 COLUMNS_ARRAY[$MODIFY_COLUMN_NUM] = "ABC"

它给了我错误

./更新:第 91 行:COLUMNS_ARRAY[3]:找不到命令

我想在给定索引处分配给数组以替换旧值,请帮助我了解错误原因以及如何解决

bash shell-script
  • 1 个回答
  • 7989 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve