【linux – 如何处理env变量的数量】教程文章相关的互联网学习教程文章

linux-为运行命令设置LD_PRELOAD环境变量而无需键入完整路径【代码】

我正在玩LD_PRELOAD,并产生了一个库,该库只是将puts()包装在一个函数中,该函数在打印之前将要打印的字符串转换为大写.然后,我将LD_PRELOAD变量导出为$export LD_PRELOAD=/home/adrian/test/myputs.so现在,运行命令时行为可以按预期工作$/bin/pwd /HOME/ADRIAN/TEST但是这样运行时不起作用$pwd /home/adrian/test在这种情况下导致LD_PRELOAD环境变量被忽略的机制是什么?解决方法:因为pwd是shell内置命令-请参见man bash或docs here...

linux-加载不受信任的配置变量【代码】

我正在处理一个bash提示项目,该项目将对您当前所在目录中的不同状态起作用. 我现在需要的是一种从当前目录加载小型配置的方法,使用可以轻松完成. .params.conf,但该方法非常不安全,因为只要您偶然发现目录中包含.params.conf文件的目录,任何对您所在目录具有写访问权的人都可以在您创建和执行命令的过程中使用. 从这样的文件中加载变量的最佳方法是什么?变量将大部分处于真/假状态,因此我不会以任何方式解析它们以便可以执行. 可能...

linux-导出在shell中是变量值的变量【代码】

当我尝试这样做时…$export my_path='/my/path\ with\ spaces/file' $echo $my_path` /my/path\ with\ spaces/file有用. 但是我想这样做.$echo $my_variable my_path='/my/path\ with\ spaces/file' $export $my_variable -bash: export: `with\': not a valid identifier -bash: export: `spaces/file'': not a valid identifier这是我得到的错误.有没有一种方法可以处理要导出的变量的值.[[注意:如果路径中没有空格,则可以完美地...

linux-将PWD的一部分设置为提示并保持变量更新【代码】

我正在使用tcsh,并且试图将PWD的一部分设置为始终显示在提示符下(这样,我将始终知道我在哪个“父”目录中). 我设法通过以下方式提取了提示的所需部分,并且工作正常(我将其称为MyTreePath):set MyTreePath=`echo $PWD | awk '{... print whichTree}'`我已将以上代码添加到.tcshrc中,并将%$MyTreePath添加到了.tcshrc中的设置提示行中. 问题是,即使打开了完全不同的路径,一旦打开外壳,MyTreePath也不会更改. 如何使出现在提示中的变...

linux-内核模块中的obj-m变量【代码】

在内核模块中,存在makefile obj-m变量.考虑以下:CUR = $(shell uname -r) DIR = /lib/modules/$(CUR)/build PWD = $(shell pwd) obj-m := m1.o m2.o default: $(MAKE) -C $(DIR) SUBDIRS=$(PWD) modules 在此Makefile中,默认目标包含一个调用内核子make的配方. obj-m变量不会导出到环境,因此sub-make无法使用它.但是,如果我们删除obj-m变量初始化,则此make不会编译m1和m2内核模块.因此,问题是: 在这种情况下,为什么内核子生...

Linux Bash确定变量名称Greedy或Non-Greedy的规则【代码】

如果您在Ubuntu 12.04上运行以下bash脚本:t="t" echo "1st Output this $15" echo "2nd this $test"输出为:1st Output this 5 2nd this第一个回声如何将$1作为变量名(非贪婪)将其解释为${1} 5,而第二个回声又如何将$test作为变量名(贪婪)而不是将其解释为${t} est?解决方法:您的问题分为两部分: > $15将始终被解释为$1,即第一个位置参数1与5串联.要使用第15个位置参数,您需要说${15}.> $test将被解释为变量测试.因此,如果您希望...

linux-如何使用sudo获取XDG变量?【代码】

我需要检索所有用户的$XDG_CONFIG_HOME,$XDG_RUNTIME_DIR和$XDG_DATA_HOME.我尝试:sudo -Eiu user printenv | grep XDG_CONFIG_HOME但是我什么也没得到. 如果我使用用户帐户登录,则使用简单命令:printenv | grep XDG_CONFIG_HOME工作正常. 我如何?解决方法:TLDR,这些变量在sudo情况下不可用,有些甚至在标准登录情况下甚至无法设置. 在我的Linux系统(debian 8)上,使用pam模块pam_systemd初始化用户会话时,定义了一些XDG变量.手册...

Linux nodejs 二进制安装 环境变量配置

官网下载系统对应的二进制安装包( Binaries) 解压到要安装的目录 vi /etc/profile 在文件末尾添加 export NODE_HOME=/nodejs路径export PATH=$PATH:$NODE_HOME/bin export NODE_PATH=$NODE_HOME/lib/node_modules 保存退出 source /etc/profile 验证 node -v 打印出nodejs版本 npm -v npm版本

linux-在exec中使用变量时“找不到exec”【代码】

我遇到了一个奇怪的问题.mkfifo "spch2008" exec 100<>"spch2008"没关系.但是,当我使用变量替换“ 100”时,会发生错误. exec:100:未找到PIPE_ID=100 mkfifo "spch2008" exec ${PIPE_ID}<>"spch2008"我不知道原因请帮助我,谢谢.解决方法:这是由于Shell无法在重定向运算符的左侧执行变量扩展而引起的.您可以使用一种解决方法:eval exec "${PIPE_ID}"'<>"spch2008"'它将迫使壳进行可变膨胀,从而产生eval exec 100'<>"spch2008"'然后...

Linux Shell脚本剪切了包含路径的变量的最后一部分【代码】

这个问题已经在这里有了答案: > Get current directory name (without full path) in a Bash script 19个长话短说,我必须制作一个Shell脚本,其中需要有两个变量,第一个变量包含从键盘读取的路径(类似:this / is / the / path / I / need) 我确实需要提取该路径示例的最后一个文件夹,并将其放在另一个变量中,在我的示例中,我需要从路径中删除“需要”部分并将其放入第二...

常用linux系统命令-环境变量

?环境变量下的文件,每次开机都会加载,在任何其他目录下都可以找到;一般程序运行,只能在软件所在跟目录运行,把文件移动到环境变量目录或者把文件所在目录设置为跟目录,程序在任何地址都能运行 查看环境变量echo $PATH 文件添加环境变量目录1.file.py首行加入#!/usr/bin/env python3\n #第二行空行print(你好!)#正文内容2.shell命令窗cd 文件跟目录chmod 777 file.py #修改文件读写权限sudo cp file.py /usr/bin #文件复制到环境变量...

linux-重定向到在bash中存储awk的变量【代码】

cat list.txt1苹果4 30 f2马铃薯2 40 v3橙色5 10 f4颗葡萄10 8 f 脚本:getlist ::if [[ "$@" == *[f]* ]] ; thenawkv1 = $(grep f | awk '{ print $2 $3 }') elseawkv1 = $(awk '{ print $2 $4 $5 }') ficat list.txt | $(awkv1)我有一个变量awkv1,它根据参数’f’存储值.但这是行不通的.运行:: getlist f不会执行任何操作. 它应该像这样工作:如果在参数中传递了’f’,则:: cat list.txt | grep f | awk{print $2 $3}’ 否则:...

Linux-Bash和AWK-在执行多行模式数学时如何将变量传递给AWK?【代码】

我正在使用AWK与模式进行多行匹配.例:awk '/"ip": /,/"id": /'我想在知道ip时将参数传递给AWK,以便它将返回包含指定IP的行.例:awk '/"ip": "$IP"/,/"id": /'有什么方法可以做到? 我努力了:awk '/"ip": "$IP"/,/"id": /' awk '/"ip": "${IP}"/,/"id": /' awk "/\"ip\": \"$IP\"/,/\"id'\": /"我想知道如何在模式中使用这种方法:var="hello"; awk -v a="$var"谢谢. 回答 >已接受,可以在下面找到.>有关如何使匹配更加精确的人的其...

linux-通过环境变量提供ssh密钥密码【代码】

我在应用程序中使用ssh命令运行shell脚本.使用的私钥通过密码短语加密,问题是-当询问时我无法交互传递它.ssh-agent中未添加密钥.我无法执行ssh-add my_key,因为该密码短语应该以交互方式传递.这对终端通信很有用,但在内部应用程序中却不太好用. 手册页显示:DISPLAY and SSH_ASKPASS If ssh-add needs a passphrase, it will read the passphrase from the current terminal if it was run from a terminal.If ssh-add does not ha...

linux-如何将grep输出的值存储在变量中【代码】

我正在处理一个bash脚本,在该脚本中,我必须使用正则表达式来匹配字符串,然后将输出存储在变量中以重新使用它. 这是我的剧本,#!/bin/shNAME="MET-3-get-code-from-string" por="$($NAME | grep -P -o -e '(?<=MET-).*?(\d+)')" #this should store 3 in variable porecho $por我尝试了很多方法,但出现错误:./check.sh:MET-3-GET-issue-id-from-branch-name:找不到 如果我运行单个grep命令,则可以,它工作正常.但是我无法存储输...