我的$ SHELL是tcsh.我想运行ac shell脚本,它会多次调用程序,每次更改一些参数.我需要调用的程序是在Fortran中.我不想编辑它.程序只有在执行后才会获取参数,但不会在命令行中获取.在脚本中调用程序后,程序将获得控制权(这是我当前卡住的地方,我永远无法离开,因为脚本在程序进程停止之后才会执行任何操作); 此时我需要传递一些变量,然后经过几次迭代后我需要从程序中按ctrl-c继续编写脚本.
如何才能做到这一点?
grep如果出现了单词列表中的至少一个元素,可以 选择行吗?例如
grep "hello world" file1
Run Code Online (Sandbox Code Playgroud)
grep必须给我所有包含单词hello或单词world或两者都包含的行。
我的问题是如何通过命令行完成存储在 csh 历史记录中的命令,编写命令的开头并使用向上/向下箭头在列表中移动,与在 Matlab 中完成的方式类似。例子:
$ vim fi
[press up]
$ vim file.py
Run Code Online (Sandbox Code Playgroud)
我在下面的帖子中看到了针对 bash shell 的主题,但没有针对 csh 的主题。我认为 csh 不可能......
谢谢
PS:我第一次访问 stackoverflow,这个网站太棒了!
我怎样才能$在csh中逃脱?在<双引号> ( "") 内。我正在尝试这样做,但无法逃避 <dollar> 符号 ( $)
alias e "echo \\!:2-$"
Run Code Online (Sandbox Code Playgroud)
这可行,但不足以满足我的需求
alias e echo \\!:2-$
Run Code Online (Sandbox Code Playgroud) 好的,这是我的整个代码,我有一个新的错误:非法变量名。
当我使用以下命令执行文件时: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) 我想要这样的东西
if (command_not_exists) exit
有人可以告诉我如何在cshell脚本中实现此功能吗?
我正在尝试将我的管道命令的输出分配给csh脚本中的变量.
命令是:
set VAR="`ping $1 2>&1 | grep 'unknown' | cut -b 7-13`"
Run Code Online (Sandbox Code Playgroud)
但是,这不想工作.我得到了一个模糊的"不明确的输出重定向".
我迷路了,因为当我在终端输入它时命令本身有效,我可以看到文本 unknown
我试图在我的 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) 我认为这是一个简单的问题,但无法找到解决方案.我将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.
我有一个数组变量tht包含文件夹中的所有目录.我需要cd到$ array中的每个目录.当它到达不可访问的目录时,程序停止.如何避免这种情况,以便我的循环只是转到下一个目录.代码是
foreach dir ($array)
cd $dir
echo "directory is $dir"
cd - end
Run Code Online (Sandbox Code Playgroud)
请帮忙 !!