我想运行一个命令,它打开一个终端,并将一组变量导入其中。
我该怎么做?我用的是xfce4终端。它有一个命令行arg“-命令”,用于在打开终端时执行命令。但是,arg似乎不允许执行源命令。
例如,
打开它
xfce4-terminal \
--command 'source somefile' \
--hold &但是它只是给出了一个错误:执行子进程“source”失败:没有这样的文件或目录。
这就是在阅读xfce4终端稀疏的手册后自然会尝试的内容。
xfce4-terminal \
--command 'bash -c "source somefile \
--hold &执行源命令,但一旦完成,终端就会退出。
在搜索论坛并找到它之后,您可以尝试这样做:您必须调用bash来运行bash命令源。(那是什么?使用bash实例启动终端,以调用另一个bash来运行命令)
。
xfce4-terminal \
--command 'bash -c "source somefile; bash"' \
--hold &这将打开终端并保持其打开,但不需要源环境。
看起来很傻,但在搜索论坛之后,你可能会尝试其他的方法。
调用bash。
xfce4-terminal \
--command 'bash -c "bash -c \"source somefile; some_command\""' \
--hold &这将在新终端中获取新的env,但只要源cmd完成执行,它就会再次关闭。(只是一些猜测)
xfce4-terminal \
--command 'source_somefile' \
--hold &不是的。当源cmd完成执行后,终端再次关闭。
虽然您不能因为认为这样做一定有效而受到指责:将源cmd放在脚本中,并使用带有--命令标志的终端运行它,以便在源命令执行完毕后,也可以使用-hold标志来阻止终端退出?
不如,将脚本运行为: bash -c‘somefile'?
否:一旦源cmd完成执行,终端就会再次关闭。
那么,如果没有打印出xfce4终端的命令,然后在收获的月亮下用鲜血祭祀,那么这是怎么做到的呢?然后嚎叫..。嚎叫..。
发布于 2022-10-02 14:36:21
您只需先进行源代码,然后打开终端(我使用的是可移植.,而不是bash特定的source):
. source_somefile && xfce4-terminal终端将继承其来源的环境。例如,如果我有这个:
$ cat /home/terdon/file
export my_var="foo"然后用这样的化名:
alias my_profile='. /home/terdon/file && xfce4-terminal'然后我可以运行别名,它将打开一个新的终端,echo $my_var将在其中打印foo。请注意,为此需要对变量进行export编辑,并且您应该使用您要查找的文件的完整路径。

https://unix.stackexchange.com/questions/719506
复制相似问题