标签: csh

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

我的$ SHELL是tcsh.我想运行ac shell脚本,它会多次调用程序,每次更改一些参数.我需要调用的程序是在Fortran中.我不想编辑它.程序只有在执行后才会获取参数,但不会在命令行中获取.在脚本中调用程序后,程序将获得控制权(这是我当前卡住的地方,我永远无法离开,因为脚本在程序进程停止之后才会执行任何操作); 此时我需要传递一些变量,然后经过几次迭代后我需要从程序中按ctrl-c继续编写脚本.

如何才能做到这一点?

unix shell scripting csh

2
推荐指数
1
解决办法
5058
查看次数

使用grep从列表中选择与任何单词匹配的行

grep如果出现了单词列表中的至少一个元素,可以 选择行吗?例如

grep "hello world" file1 
Run Code Online (Sandbox Code Playgroud)

grep必须给我所有包含单词hello或单词world或两者都包含的行。

linux shell scripting csh tcsh

2
推荐指数
2
解决办法
3968
查看次数

csh 中类似于 Matlab 的命令历史记录补全

我的问题是如何通过命令行完成存储在 csh 历史记录中的命令,编写命令的开头并使用向上/向下箭头在列表中移动,与在 Matlab 中完成的方式类似。例子:

$ vim fi
[press up]
$ vim file.py
Run Code Online (Sandbox Code Playgroud)

我在下面的帖子中看到了针对 bash shell 的主题,但没有针对 csh 的主题。我认为 csh 不可能......

这里这里

谢谢

PS:我第一次访问 stackoverflow,这个网站太棒了!

linux csh

2
推荐指数
1
解决办法
1564
查看次数

在 csh 中转义 $

我怎样才能$在csh中逃脱?在<双引号> ( "") 内。我正在尝试这样做,但无法逃避 <dollar> 符号 ( $)

alias e "echo \\!:2-$"
Run Code Online (Sandbox Code Playgroud)

这可行,但不足以满足我的需求

alias e echo \\!:2-$
Run Code Online (Sandbox Code Playgroud)

shell csh

2
推荐指数
1
解决办法
1万
查看次数

非法变量名的 Csh 问题

好的,这是我的整个代码,我有一个新的错误:非法变量名。

当我使用以下命令执行文件时:csh filename.sh

结果是:非法的变量名。

我认为问题包含在: while ( $? == 1 ) #!/bin/sh

set quitter = "N"
# Boucle sur  la condition d'arret du script:
while ( $quitter == "N" )

 # Saisie du nom de l'utilisateur :
 echo "Quel utilisateur ?"
 set a = $<
 # Mettre le résultat de la commande ps -u 
 # dans un fichier quelque soit le résultat (juste ou faux) :
 ps -u $a >&fichier
 # La varible $? vaudra 1 si la dernière commande …
Run Code Online (Sandbox Code Playgroud)

variables csh

2
推荐指数
1
解决办法
3万
查看次数

csh 脚本:检查命令是否存在

我想要这样的东西

if (command_not_exists) exit

有人可以告诉我如何在cshell脚本中实现此功能吗?

command csh where-clause

2
推荐指数
1
解决办法
2432
查看次数

csh(tcsh)指定管道命令输出时的模糊输出重定向w/stderr重定向到脚本中的变量

我正在尝试将我的管道命令的输出分配给csh脚本中的变量.

命令是:

set VAR="`ping $1 2>&1 | grep 'unknown' | cut -b 7-13`"
Run Code Online (Sandbox Code Playgroud)

但是,这不想工作.我得到了一个模糊的"不明确的输出重定向".

我迷路了,因为当我在终端输入它时命令本身有效,我可以看到文本 unknown

linux shell csh ping

2
推荐指数
1
解决办法
6688
查看次数

使用 foreach 路径的标准工具的 C Shell“未找到命令”

我试图在我的 C shell 脚本中使用 awk 来分割我的字符串。

当我在循环外使用 awk 时,该命令有效。例如:

set var = *
set path = `echo ${var[1]} | awk '{split($0,a,"_"); print a[1]}'`
Run Code Online (Sandbox Code Playgroud)

但是,当我在循环中使用相同的命令时,会出现以下错误awk: command not found

例如:

set var = *

foreach path ( $var )
    echo $path | awk '{split($0,a,"_"); print a[1]}'
end
Run Code Online (Sandbox Code Playgroud)

csh

2
推荐指数
1
解决办法
44
查看次数

实时重定向stdout和stderr

我认为这是一个简单的问题,但无法找到解决方案.我将rubd脚本的stdout和stderr重定向到'puts',有时将错误(!)重定向到这样的日志文件中:

bundle exec rake import:long_task --trace  >& log/import.log &
Run Code Online (Sandbox Code Playgroud)

但它似乎没有puts实时刷新文件,当它获得异常时,它将回溯放在顶部import.log.所以,这不是完美的调试,但它的工作原理.

我如何实时地将脚本的输出重定向到文件,以确切地看到如果我直接在终端中启动它而不重定向我会看到什么?

使用:Ruby 1.9.2,Rails 3.2,FreeBSD和csh shell.

ruby terminal freebsd csh command-line-interface

1
推荐指数
1
解决办法
1978
查看次数

如何避免cd到没有访问权限的目录

我有一个数组变量tht包含文件夹中的所有目录.我需要cd到$ array中的每个目录.当它到达不可访问的目录时,程序停止.如何避免这种情况,以便我的循环只是转到下一个目录.代码是

foreach dir ($array) 
  cd $dir
  echo "directory is $dir" 
cd - end
Run Code Online (Sandbox Code Playgroud)

请帮忙 !!

unix linux bash csh

1
推荐指数
1
解决办法
80
查看次数