标签: tcsh

如果错误,退出tcsh脚本

我正在尝试编写一个tcsh脚本.如果任何命令失败,我需要脚本退出.

在shell中我使用set -e但我不知道它在tcsh中的等价物

#!/usr/bin/env tcsh

set NAME=aaaa
set VERSION=6.1

#set -e equivalent
#do somthing
Run Code Online (Sandbox Code Playgroud)

谢谢

shell tcsh

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

如何在tcsh shell上映射Delete和End键?

我使用tcsh,当在cmd行上按下Delete/End时,它只显示为~; 我必须按<Ctrl><e>下去结束.任何人都可以帮助我能够使用删除/结束键,顾名思义?

keyboard shell tcsh

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

如何找到我正在执行的tcsh shell脚本的位置?

假设我在/path/to/my_script.csh中放了一个可执行的tcsh文件

我当前的目录是任何地方,例如我在/ path

所以我输入/ my_script.csh

我想在my_script.csh中有一行返回"/path/to/my_script.csh" - 就像ruby的

__FILE__
Run Code Online (Sandbox Code Playgroud)

directory shell path tcsh

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

Unix tcsh - 使用命令行参数$ 1与\!:1的别名

在Unix(tcsh)中,我在别名中引用了两个不同符号的命令行参数 - $1\!:1.

但是我注意到如果我尝试保存$1到环境变量,它就不会被保存.但是\!:1会得到保存.

alias hear 'setenv x \!:1 && echo $x'
--> hear that
that
--> echo $x
that

alias oh 'setenv x $1 && echo $x'
--> oh no
no
--> echo $x
Run Code Online (Sandbox Code Playgroud)

当$ 1用于存储值时,$ x的回显没有显示任何内容.这是什么原因?

unix tcsh

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

使用vi打开目录中的最后修改文件

我想快速打开目录中最后修改过的文件,也许是以别名的形式.

目前,我做ls -ltr.然后复制并粘贴文件名

假设我正在使用tcsh

vi bash tcsh

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

在csh中重定向stderr

我正在执行一个将崩溃报告转储到STDERR我必须过滤一些必要信息的程序.问题是,我无法重定向STDERRSTDOUTPIPEgrep

command 2>&1 >/dev/null | grep "^[^-]" >& /tmp/fl
Run Code Online (Sandbox Code Playgroud)

得到错误: Ambiguous output redirect.

相同的命令在bash终端下工作.我应该改变什么来使它工作?

linux shell csh tcsh

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

在c shell脚本中设置命令错误

我在我的脚本上这样做:

set Cnt1 =`echo $Cnt | awk '{print $1}'`
set Cnt2 =`echo $Cnt | awk '{print $2}'`
set Cnt3 =`echo $Cnt | awk '{print $3}'`
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,说"设置:变量名称必须以字母开头".有人能告诉我我做错了什么.. Cnt有这样的价值:

Cnt = 1 1 1
Run Code Online (Sandbox Code Playgroud)

shell csh tcsh

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

将命令输出分配给shell变量

我试图将剪切命令的输出分配给变量,但是我遇到了一个奇怪的问题.我正在使用tcsh shell.

$echo $0
tcsh
Run Code Online (Sandbox Code Playgroud)

这是我正在运行的命令:

$set a=`cut -f2 -d' ' test.txt`
Missing }.    //This is the output I am getting
Run Code Online (Sandbox Code Playgroud)

现在该文件非常简单(这不是我正在处理的文件,但我将问题减少到了这一点.)

的test.txt:

{ {corner
Run Code Online (Sandbox Code Playgroud)

而已!这是文件.如果我将文件更改为:

{ {corner}
Run Code Online (Sandbox Code Playgroud)

语句有效,但"a"获得以下值:

$echo $a
corner   //Please note its not {corner} but corner
Run Code Online (Sandbox Code Playgroud)

因此我认为shell试图{corner 作为一个命令执行 ,因为它缺少关闭括号shell抱怨.有谁知道它为什么会出现这种行为?我的理解是它应该只将cut的输出分配给变量,但看起来像递归分配它!新手

linux tcsh

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

如何在FreeBSD/cshrc上为提示添加颜色?

我负责管理一堆服务器,我想在每个服务器上设置我的提示,这样我就不会对我登录的位置感到困惑.

我已经编辑了我的.cshrc文件并将其放入其中:

set prompt=`whoami`@`hostname -s`:$cwd'$ '
Run Code Online (Sandbox Code Playgroud)

但我想给这个提示加上颜色,以便它更突出.也许绿色与白色文字或东西.我怎样才能做到这一点?我对shell语法不太熟悉.

我正在使用Ubuntu附带的标准终端进行SSH连接,如果这是相关的.

freebsd csh tcsh

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

从bash运行csh脚本,通过命令更改shell临时

我需要从bash shell运行csh脚本,因此通过命令临时更改为tcsh.它在交互模式下工作得很完美,但我不能在一行命令中找到它.所以在交互模式下我在bash shell中做:

tcsh的

来源my.tcshr

useMyTcshCmd

等等

我如何在1命令中完成所有这些操作?对不起,新手问题......

linux bash tcsh

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

标签 统计

tcsh ×10

shell ×5

csh ×3

linux ×3

bash ×2

directory ×1

freebsd ×1

keyboard ×1

path ×1

unix ×1

vi ×1