问题标签 [csh]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
17 回答
336804 浏览

bash - 让 ssh 在目标机器的后台执行命令

这是您如何在 shell 脚本中使用 ssh的后续问题?问题。如果我想在该机器的后台运行的远程机器上执行一个命令,我如何让 ssh 命令返回?当我尝试在命令末尾包含与号 (&) 时,它就会挂起。该命令的确切形式如下所示:

有任何想法吗?需要注意的一点是,登录到目标机器总是会产生一个文本横幅,并且我设置了SSH密钥,因此不需要密码。

0 投票
12 回答
9307 浏览

path - 如何避免在 csh 中重复路径变量

通常在您的 cshrc 文件中包含这样的内容来设置路径:

但是,当您多次获取 cshrc 文件时,路径会重复,您如何防止重复?

编辑:这是一种不干净的做法:

0 投票
6 回答
5220 浏览

shell - C Shell:如何使用非命令行参数执行程序?

我的 $SHELL 是 tcsh。我想运行一个 C shell 脚本,它会多次调用一个程序,每次都会更改一些参数。我需要调用的程序是 Fortran。我不想编辑它。该程序仅在执行后才接受参数,而不是在命令行上。在脚本中调用程序后,程序将获得控制权(这是我目前卡住的地方,我永远无法脱身,因为在程序进程停止之前脚本不会执行任何操作)。此时我需要向它传递一些变量,然后经过几次迭代后,我需要Ctrl+C退出程序并继续执行脚本。

如何才能做到这一点?

0 投票
7 回答
16263 浏览

python - 运行 csh 脚本时让 python 输入密码

我正在编写一个在 Solaris 10 中执行 csh 脚本的 python 脚本。csh 脚本提示用户输入 root 密码(我知道),但我不确定如何让 python 脚本用密码回答提示。这可能吗?这是我用来执行 csh 脚本的内容:

0 投票
2 回答
346 浏览

unix - csh脚本中调用父进程如何查看子进程的STDOUT

我正在调用一个 csh 脚本,它所做的第一件事就是启动一个新组。

我需要能够看到分叉后执行的子进程的标准输出。我还希望父进程“挂起”子进程完成。

这是脚本(razor_from_cgwin.sh)。

(有点)

我想要的是这样的:

Razor 是我正在从事的项目中使用的 CM。除了我需要启动一个新组来调用它之外,这个问题并不重要。我./razor_from_cgwin.sh从 CYGWIN 的 ssh 会话中调用脚本 () :)

0 投票
8 回答
20768 浏览

unix - 如何在脚本中使用 newgrp 然后在脚本退出时留在该组中

我在 solaris Box 上运行脚本。特别是 SunOS 5.7。我不是根。我正在尝试执行类似于以下内容的脚本:

newgrp thegroup << FOO
source .login_stuff
echo "hello world"
FOO

脚本运行。问题是它返回到调用进程,这使我进入了旧组,而源 .login_stuff 没有被获取。我理解这种行为。我正在寻找的是一种留在子外壳中的方法。现在我知道我可以在脚本中放一个 xterm&(见下文),这样就可以了,但是有一个新的 xterm 是不可取的。

将您当前的 pid 作为参数传递。

newgrp thegroup << FOO
source .login_stuff
xterm&
echo $1
kill -9 $1
FOO

我没有可用的 sg。此外,newgrp 是必要的。

0 投票
21 回答
618899 浏览

bash - shell脚本可以设置调用shell的环境变量吗?

我正在尝试编写一个 shell 脚本,该脚本在运行时将设置一些环境变量,这些环境变量将保持在调用者的 shell 中。

在 csh/tcsh 中,或

在 sh/bash 中仅在脚本执行期间设置它。

我已经知道了

将运行脚本的命令而不是启动新的 shell,这可能会导致设置“调用者”环境。

但问题是:

我希望这个脚本可以从 bash 或 csh 调用。换句话说,我希望任一 shell 的用户都能够运行我的脚本并改变他们的 shell 环境。所以'source'对我不起作用,因为运行 csh 的用户无法获取 bash 脚本,而运行 bash 的用户无法获取 csh 脚本。

有没有不需要在脚本上编写和维护两个版本的合理解决方案?

0 投票
3 回答
10938 浏览

python - 在 python 2.4 中,如何使用 csh 而不是 bash 执行外部命令?

如果不使用新的 2.6 子进程模块,我怎样才能让 os.popen 或 os.system 使用 tcsh 而不是 bash 来执行我的命令?在执行一些其他命令之前,我需要获取一些用 tcsh 编写的脚本,我需要在 python2.4 中执行此操作。

编辑感谢使用'tcsh -c'的答案,但我想避免这种情况,因为我必须逃避疯狂。该字符串将由 bash 解释,然后由 tcsh 解释。我将不得不做类似的事情:

我不能告诉 python 打开一个“tcsh”子进程而不是一个“bash”子进程吗?那可能吗?

PS 我意识到 bash 是猫的喵喵叫,但我在公司环境中工作,我将选择打 tcsh 与 bash 之战——更大的鱼要炸。

0 投票
1 回答
27407 浏览

shell - 在 csh Shell 脚本中读取带空格的用户输入

我有一个脚本,用户应该能够在其中输入带空格的字符串。到目前为止,我有:

如果我在“input”中输入字符串“rr r”,$TEST 将只取“r”。我希望能够将 $TEST 设置为“rr r”。这可能吗?如果我输入一个像“1 1 1”这样的字符串,我会得到一个错误:

set:变量名必须以字母开头。

这是什么原因?

0 投票
2 回答
2218 浏览

java - 是否可以从 csh 变量中的 java 程序中捕获 system.out.print?

我知道这是蹩脚的方式来做到这一点。我们需要在调用 shell 脚本中捕获一个在 Java 程序中动态生成的字符串,然后在以后使用它。

这也将在现有的 csh 文件中完成。

我们考虑了使用 putenv/setenv 将其导出到环境变量的选项......这是一个更好的选择吗?如果有怎么用?

网上似乎缺乏关于如何有效使用 sentenv() 或 putenv() 以及为此导入哪些库的示例代码。

具有 getenv() 方法的系统类不显示我的 putenv() 或 setenv()。非常感谢任何帮助。

谢谢。