Articles of 环境variables

如何 – Linux中的多个Dropbox实例?

在网上浏览之后,运行多个Dropbox账户似乎相当容易。 你所要做的就是改变一个环境variables,然后运行dropbox。 但是,我已经尝试编辑.desktop文件(请参阅.desktop文件规范 ),以便Exec行从此更改: Exec=dropbox start -i 这是默认的,对此: Exec=env "HOME\=/home/reg/.dropbox-alt" dropbox start -i 从我读过的一切应该工作。 我也尝试了所有的转义和引用的变化,如: Exec=env HOME\=/home/reg/.dropbox-alt dropbox start -i Exec=env "HOME=/home/reg/.dropbox-alt" dropbox start -i Exec=env HOME=/home/reg/.dropbox-alt dropbox start -i 而似乎没有启动Dropbox。 但是,如果我在bash中尝试相同的行,它会尝试启动但不足,但这只是因为dropbox正在寻找一个GUI。 如果是这样的话,我会认为在.desktop文件中进行上述操作是可行的,但是我什么也得不到。 我这样做没有任何Dropbox实例已经运行,所以它不能是Dropbox正在寻找其他实例,并停止加载另一个实例。 如果我在.desktop文件中试试这个: Exec=env dropbox start -i 它会启动Dropbox,但现在它是默认的实例,没有任何好处。 任何人都可以告诉我什么我错过,使这项工作?

如何分割一个大的variables?

我正在处理大量的variables,并且可能会很慢地“循环” while read line ,我发现variables越小,速度越快。 我怎样才能将大的variables分成更小的variables,然后逐一读取? 例如,我想实现什么: bigVar=$(echo "$bigVar" | split_var) for var in "${bigVar[@]}"; do while read line; do … done <<< "${var}" done 或者可能会被拆分成bigVar1,bigVar2,bigVar3等,而不是逐一阅读。

gnuplot在一个文件的path中有一个variables

我需要在不同的设备上运行gnuplot脚本。 一旦到达特定目录,设备上的文件结构是相同的,但这些目录的path是不同的。 我想我需要在path名中有一个variables,可以根据我在哪个设备上进行更改。 我认为以下几点是可行的, 因为我在这里发现了类似的东西 ,但是并没有: path_to_directory="/desktop/path/to/directory" # path_to_directory="laptop/path/to/directory" # the line above is commented out but it can be included # if I want to switch from my desktop to my laptop path_to_file="$path_to_directory/path/to/file" plot path_to_file … 警告消息说:跳过不可读的文件“$ path_to_directory / path / to / file” 你知道我怎么可以在gnuplot脚本的path中包含一个variables,以便我可以轻松地切换path之间? 谢谢。

Linux中每个正在运行的进程的$ PATHvariables

我怎么能find我的Linux系统上每个正在运行的进程的$PATHvariables?

将环境variables设置为一个较大的值 – >“参数列表太长”

在bash脚本里面,我设置了一个环境variables来包含一个100万字符的string。 我这样做是这样的: export LG=XXXXXXX # … 1 million X's 紧接着,我可以回应没有问题,即 echo $LG 但是,在脚本内部尝试运行的任何其他不相关的命令都会因“参数列表太长”错误而失败。 例如: cat randomfile.txt /bin/cat: Argument list too long 我已经阅读了其他的post,build议使用xargs来解决这个问题,但是我还没有成功。 如果我使用echo以外的任何命令,那么即使在设置后实际上没有使用$ LGvariables,我也会得到“参数列表太长”的错误。 当然,我想使用$ LGvariables,但即使在设置后不使用它,也会发生错误。 任何提示将不胜感激,谢谢! 编辑: 我想解决的总体问题是这样的: 我有一个文本文件,我需要保持尽可能小(即几个MB)。 该文本文件包含一组封装在特定networking协议(即标题,消息长度,消息本身)内的消息。 消息本身可以是长度为一百万或更多的string。 所以为了保持原来的文件大小,而不是在文件中有大量消息的多个副本,我使用映射。 也就是说,如果我在消息字段中看到字母A,那么我使用sed来查找和replaceA中的一百万个X. 喜欢这个: cat file.txt | sed "s/A/$LG/g" # Replace A with 1 million X's 我将最终在一个非常慢的模拟器中运行,所以我需要在尽可能less的周期内完成这个操作。 换句话说,像awk这样的实用程序,使用100万行程的循环来dynamic生成100万个X就太慢了。 这就是为什么我认为环境variables解决scheme是最好的。

在线程中使用Python设置环境variables

我有五个线程在我的代码… 五个线程由main.py启动 所以对于每个正在运行的线程,我需要将diff IP设置为环境值 thread-1: has to set 192.168.10.2 thread-2: has to set 192.168.10.3 thread-3: has to set 192.168.10.4 thread-4: has to set 192.168.10.5 thread-5: has to set 192.168.10.6 请指导我解决这个问题

shell脚本完成后保留环境variables

在脚本完成运行之后,如何保持从shell脚本中设置的环境variables?

在环境中设置一个Bash函数

我需要从C / C ++程序在Bash环境中定义一个Bash函数。 在shellshock错误之前,我可以用这种方式定义一个函数: my_func='() { echo "This is my function";}' 或者等同于C程序: setenv("my_func", "() { echo \"This is my function\";}", 1); 要么 putenv("my_func=() { echo \"This is my function\";}"); 但是使用shellshock修正的Bash版本,我无法pipe理如何在环境中定义我的函数。 奇怪的是,如果我运行env ,我可以看到我的函数定义在环境中,但是如果我叫它,Bash说它不存在。 提前致谢

尝试使用g ++编译目标文件时,出现“-std = c ++ 11:command not found”错误

正如在标题中,当我尝试运行这个shell脚本使用g ++编译一个目标文件时: #!/bin/bash name=textsweeper srcdir=src buildir=build cc=g++ cppflags=-Wall -std=c++11 -ggdb -O libs= rm -f $buildir/$name $buildir/main.o $cc $cppflags $srcdir/main.cpp -c -o $buildir/main.o $cc $buildir/main.o $libs -o $buildir/$name 我得到以下错误: $ bash compile compile: line 6: -std=c++11: command not found 和其他错误的东西只能用于stdc ++ 11。 我试过yahooing的错误,但我只得到有关实际命令而不是参数的错误的答案。

Bash脚本variablesreplace

我试图将一些文本结合到一个variables,并输出组合variables的值。 例如: testFILE=/tmp/some_file.log function test_param { echo $1 echo test$1 echo $(test$1) #this is where I want to output the value of the combined variable } test_param FILE 输出将是: FILE testFILE /tmp/some_file.log <– this is what I can't figure out. 有任何想法吗? 如果我没有使用正确的术语,请纠正我。 谢谢,Jared