我是新来的 正在试图解决一些问题 以代号我正在做的。
我在终端 以我的用户名 并连接到bash
USER$
USER$ bash
bash$
现在,在狂欢中,我正在节省一些变量f.e.e.:
i=2
k=2
let p=$k*$i
现在我要使用Bash 函数以外的变量
bash$exit
USER$
现在变量已不存在
我尝试使用导出, 但是它没有真正有效, 可以使用我们的帮助, tnx
我是新来的 正在试图解决一些问题 以代号我正在做的。
我在终端 以我的用户名 并连接到bash
USER$
USER$ bash
bash$
现在,在狂欢中,我正在节省一些变量f.e.e.:
i=2
k=2
let p=$k*$i
现在我要使用Bash 函数以外的变量
bash$exit
USER$
现在变量已不存在
我尝试使用导出, 但是它没有真正有效, 可以使用我们的帮助, tnx
与 DOS 批量文件不同, Unix shell 脚本不能直接影响其调用 shell 的环境 。
您可以考虑使用 .
(dot) 或 源代码
命令在调用 shell 的背景下读取和执行脚本。 这意味着脚本中的修改确实影响环境( 一般来说; 您仍然可以遇到子贝壳的问题 ) 。
另一个选项是将设置变量的脚本设置为将数值写入 name=value
格式的变量写入一个文件,然后调用脚本读取(再次使用 .
或 源代码
)。
无法。 您无法在父进程设置环境变量 。
常规解决方案是将设置添加到您的 。 profile
或 . brashrc
-- -- 您应该使用这些设置取决于您的具体需求和您的本地 Bash 配置; 我的第一个建议是 . profile
, 但随后您必须避免任何blake主义, 因为此文件与 sh
共享( 因此, 没有 < code>let , 例如) 。
对于更具体的需求,请将命令放入文件,当您需要时,请在文件里输入 源代码
。您也可以创建一个简单的脚本,用当前值更新文件。
# source this file to update $HOME/stuff
cat<<HERE>$HOME/stuff
i= $i
k= $k
p= $p
export i k p
HERE
这里的语法很简单, 但假设您没有包含单引号或其他自由形式内容的值。 如何安全存储您无法完全控制的任意值是一个复杂得多的讨论; 我为基本使用案例提供了一个简单的解决方案, 您只需要保存几个简单的标值, 比如数字 。
要在连接到远程系统时保留变量,请查看您用来连接的工具的文档。例如, ssh
具有从本地系统导入环境变量的配置选项,用于在启动远程会话时从本地系统导入环境变量。
I m attempting to write a bash script to parse out the following log file and give me a list of CURRENT players in the room (so ignoring players that left, but including players that may have rejoined)...
How can I check the file encoding in a shell script? I need to know if a file is encoded in utf-8 or iso-8859-1. Thanks
I like to write bash shell scripts on my iPhone, put them in an app folder with an icon, plist, etc., so they execute like apps by tapping their icon on SpringBoard. This is not interactive like ...
From a programming standpoint, when you set the bash shell to use vi or emacs via set -o vi or set -o emacs What is actually going on here? I ve been reading a book where it claims the bash shell ...
I am construcing a command in bash dynamically. This works fine: COMMAND="java myclass" ${COMMAND} Now I want to dynamically construct a command that redirectes the output: LOG=">> myfile.log ...
I want perform sha1sum file1 and sha1sum file2 and perform bitwise OR operation with them using bash. Output should be printable i.e 53a23bc2e24d039 ... (160 bit) How can I do this? I know echo $(( ...
I m 试图撰写一个双面文字,处理一个文件清单,其名字在投入档案中每栏一栏储存,就像一个一样。
Is it possible to set the Screen Title using a shell script? I thought about something like sending the key commands ctrl+A shift-A Name enter I searched for about an hour on how to emulate ...