标签: csh

在 Linux 上工作和使用 C-shell 时,如何清除输入到提示中的部分内容?

我在 Linux 和 C-shell 中工作。很多时候,我需要更改提示中已有内容的某些部分,这些内容是我通过使用CTRL+R. 我不想用Backspace来做这件事。我在 superuser.com 上看过这个问题,它专门针对 bash。这个答案说使用CTRL+Uwhich 会清除当前光标位置之前的所有内容。但这为我清除了所有内容,即使我按下了几个退格键,现在位于提示文本的中间。在 Linux 中是否有特定的 C-shell 实现方式?

command-line csh line-editor

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

如果字符串包含换行符的 C Shell 脚本条件

我不确定如何使用csh字符串匹配语法来表达这一点。我想测试一个 csh 变量是否包含换行符。我基本上在寻找:

if ($mystr !~ <pattern for strings which contain a newline character>)
Run Code Online (Sandbox Code Playgroud)

编辑:在我的特殊情况下,我正在尝试制作这样的字符串:

1234ABC
Run Code Online (Sandbox Code Playgroud)

像这样的字符串失败:

1234ABC
 -------
FOOBAR
Run Code Online (Sandbox Code Playgroud)

这些是sed命令的输出,即sed '1d;$d'. 不确定这是否重要。

我试图检测换行符而不是" -------"为了防止我正在解析的文件格式发生变化的原因。(无论如何,我认为我对文件所做的事情并不重要,因为我只是在寻找检测换行符的通用解决方案。)

string csh

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

在 csh 脚本的 sed 调用中找不到事件

我尝试了删除大括号之间的文本时给出的代码

但是我正面临着关于 sed 事件的这个不同的错误。

文件包含:

This is {
{the multiline
text} file }
that wants
{ to {be
changed}
} anyway.
Run Code Online (Sandbox Code Playgroud)

sed ':again;$!N;$!b again; s/{[^}]*}//g' file

锻炼中可能出了什么问题?

错误

N: Event not found.
Run Code Online (Sandbox Code Playgroud)

shell tcsh csh quoting

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

Unix Power Tools 中的奇怪别名“find .-name '*\!{*}*' -ls”

来自 Unix Power Tools 第 3 版第 175 页:

第 9.27 节展示了一种匹配路径中间目录的方法。这是一个更简单的“查找文件”别名,可以派上用场:

alias ff "find . -name '*\!{*}*' -ls"

给它一个文件或目录名;别名将给出包含参数的任何文件或目录名称的长列表。

(这也可以在线获得。)

我根本没有得到-name操作员的论据。这是笔误吗?它仅适用于特定版本find吗?反斜杠、bang 和花括号的作用是什么?

find alias csh wildcards

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

错误“意外标记‘(’附近的语法错误?”

我的终端里有什么

bash: settings64.csh: line 35: syntax error near unexpected token `('
bash: settings64.csh: line 35: `foreach i ( $xlnxInstLocList )'
Run Code Online (Sandbox Code Playgroud)

部分脚本

set xlnxInstLocList="${xlnxInstLocList} common"
set xlnxInstLocList="${xlnxInstLocList} EDK"
set xlnxInstLocList="${xlnxInstLocList} PlanAhead"
set xlnxInstLocList="${xlnxInstLocList} ISE"
set XIL_SCRIPT_LOC_TMP_UNI=${XIL_SCRIPT_LOC}
foreach i ( $xlnxInstLocList )
Run Code Online (Sandbox Code Playgroud)

底部语法错误的位置

line 35
foreach i ( $xlnxInstLocList )
Run Code Online (Sandbox Code Playgroud)

我不是脚本家;我正在尝试修复 ISE DESIGN SUITE 安装的脚本错误。我只需要一组快速代码来替换“foreach i ( $xlnxInstLocList )”以执行其预期功能。我认为这是一个 Bash 脚本。

tcsh shell-script csh

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

OpenBSD - 如何设置别名?

我正在运行最新的 OpenBSD,但我无法弄清楚如何设置一个简单的别名,类似于 cls=clear 的东西。我试过把它放在 ~/.cshrc 和 ~/.profile 中。我试过了:

alias cls clear
alias cls=clear
alias cls='clear'
alias cls="clear"
Run Code Online (Sandbox Code Playgroud)

什么都行不通。

在另一个但可能相关的注释中:如果 echo $SHELL 告诉我我正在使用 /bin/ksh,为什么使用 ~/.cshrc 而不是 ~/.kshrc?

ksh alias openbsd csh

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

这个csh文件有什么问题?

我没有任何编写 .sh 文件的经验。我想从Volume Library运行这个应用程序的 pvm2raw 实用程序。

在 Ubuntu 10.10 中运行 build.sh 时出现以下错误。

在此处输入图片说明

build.sh 如下:

# make command
set mmfile=V3Makefile
set make="make -f $mmfile"

set rule=$1
if ($rule == "") set rule="all" // line 16

if ($rule == "deps") then
   if ($HOSTTYPE == "iris4d") $make MAKEDEPEND="CC -M" OPTS="-DHAVE_CONFIG_H -DVIEWER_HAVE_DCMTK" TARGET=IRIX depend
   if ($HOSTTYPE == "i386") $make MAKEDEPEND="c++ -M -I/usr/X11R6/include" OPTS="-DHAVE_CONFIG_H -DVIEWER_HAVE_DCMTK" TARGET=LINUX depend
Run Code Online (Sandbox Code Playgroud)

有什么问题吗?

编辑:我按照 jw013 的建议安装了 csh。现在我收到以下错误:

在此处输入图片说明

我该如何解决这个未定义的变量问题?

tcsh shell-script csh

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

&gt;&gt;&amp; 是什么类型的重定向?

我正在查看具有以下行的 cron 文件:

35  0 * * * /bin/csh -c "/home/abc/.cshrc;/home/abc/appTools/bin/xxx.pl >>& /home/abc/appTools/log/xxx.cronlog"
Run Code Online (Sandbox Code Playgroud)

这是重定向 STDOUT 和 STDERR 的另一种形式,例如 2>&1 吗?>>&2>&1之间有什么区别吗?此命令似乎有效,除非 xxx.cronlog 尚不存在。

io-redirection csh

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

Linux crontab -- 我使用的是哪个 shell

在 crontab 中,我如何知道它使用的是哪个 shell?

例如,如果我想重定向输出,我怎么知道我是否需要使用 &> 或 >&(bash vs csh)

shell bash cron csh

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

未定义的变量

我正在尝试使用此脚本:

#!/bin/csh
foreach SUB (1 2 3 4 5 6 7 8 9 10 11 12 13 14)
    echo $SUB
    foreach VISIT (1 2 3 4 5 6 7 8)
        echo $VISIT
        grep 'StudyDate' -f  /home/colourlab/Desktop/DrummingDTI/D${SUB}/D${SUB}V${VIS}/scout/001/infodump.dat
    done
done
Run Code Online (Sandbox Code Playgroud)

但每次我收到此错误消息时:

1
1
SUB: Undefined variable.
Run Code Online (Sandbox Code Playgroud)

我不知道为什么。

scripting csh

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