标签: csh

仅显示tcsh或bash中符号链接的文件和文件夹

基本上我想做以下事情:

ls -l[+someflags]
Run Code Online (Sandbox Code Playgroud)

(或通过其他方式)只显示符号链接的文件

所以输出看起来

-rw-r--r--  1 username grp   size date-time    filename -> somedir
-rw-r--r--  1 username grp   size date-time    filename2 -> somsdfsdf
Run Code Online (Sandbox Code Playgroud)

等等

例如,

仅显示我有别名的目录:

alias  lsd  'ls -l | grep ^d'
Run Code Online (Sandbox Code Playgroud)

我想知道如何只显示隐藏文件或只隐藏目录?

我有以下解决方案,但它不显示颜色的输出:(

ls -ltra | grep '\->'
Run Code Online (Sandbox Code Playgroud)

linux shell csh tcsh

35
推荐指数
6
解决办法
5万
查看次数

最后一个shell命令的输出

直到3小时构建脚本的中途,我才会记得我想在输出结束后看到输出开头的内容.此时我已超过终端中的行数,因此我无法向上滚动查看它(或者开头很难找到).当然,我可以更好地存储我的输出,但我一直很好奇,如果这是可能的.

在linux shell中,是否可以返回最后一个命令的输出.我意识到我可以管道它或将输出发送到文件,但我的要求是在命令运行检索该输出.

使用csh,但会听到任何shell.

csh

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

用csh成语检查环境变量是否存在?

我有一些csh脚本,我需要在开始做之前检查某些环境变量是否已设置,所以我做了这样的事情:

if ! $?STATE then
    echo "Need to set STATE"
    exit 1
endif

if ! $?DEST then
    echo "Need to set DEST"
    exit 1
endif
Run Code Online (Sandbox Code Playgroud)

这是很多打字.是否有更优雅的习惯用于检查环境变量是否已经设置?

笔记:

  • 这个问题非常相似,但具体询问bash中的解决方案.
  • 我不是在寻找人们建议我远离csh因为它被诅咒,吓人或者打击更好.我特别感兴趣的是比我现在使用的更优雅的解决方案.

csh environment-variables

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

如何在tcsh Shell中检查变量是否为空?

如果我必须在bash shell中检查变量是否为空,我可以使用以下脚本进行检查:

if [ -z "$1" ] 
then
    echo "variable is empty"
else 
    echo "variable contains $1"
fi
Run Code Online (Sandbox Code Playgroud)

但我需要将其转换为tcsh shell.

csh tcsh

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

在python脚本中设置stacksize

我正在将csh脚本转换为python脚本.该脚本调用内存密集型可执行文件,需要非常大的堆栈,因此csh脚本将stacksize设置为unlimited:

limit stacksize unlimited
Run Code Online (Sandbox Code Playgroud)

当我尝试在python中重现这个脚本时,我以一种非常天真的方式执行它们os.system,例如:

os.system('some_executable')
Run Code Online (Sandbox Code Playgroud)

但我不知道如何通过无限制的堆栈大小来告诉操作系统运行这些可执行文件.有没有办法为python脚本中的调用指定stacksize?是否有一些我应该使用的低级系统调用?是否有一个控制它的模块(类似于shutil)?

python stack csh

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

Ctrl-R向后搜索csh中的shell命令

我喜欢在shell中使用这个快捷方式,并希望了解是否可以在csh或tsch中模拟和/或拥有(可能是安装附加组件或脚本)

谢谢

unix shell csh tcsh

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

如何在shell脚本中使用并行执行?

我有一个C shell脚本,它执行以下操作:

#!/bin/csh
gcc example.c -o ex
gcc combine.c -o combine
ex file1 r1     <-- 1
ex file2 r2     <-- 2
ex file3 r3     <-- 3
#... many more like the above
combine r1 r2 r3 final
\rm r1 r2 r3
Run Code Online (Sandbox Code Playgroud)

有一些办法可以让线1,23在运行并行而不是一个接另一个?

unix parallel-processing shell csh

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

如何在bash中使用csh脚本来设置环境

我们在Solaris上运行Oracle,默认情况下shell是csh.所以登录脚本也在csh中设置oracle_home,oracle_sid.但是我不喜欢csh而且想用bash来完成我的工作.那么如何在bash中获取csh登录脚本呢?

例如,以下是.cshrc文件中的内容.当使用bash时,我想使用这些变量.一种方法是再次复制变量并使用bash命令,例如export ORACLE_SID = TEST.但这样做需要我们维护两份文件.当我们更改数据库名称或升级数据库时,我需要单独维护bash登录文件.只是使用像这样的东西真好

在bash中使用.cshr,但它不起作用.

setenv ORACLE_SID TEST
setenv ORACLE_HOME /oracle/TEST/home/products/10204
setenv EPC_DISABLED TRUE
setenv MANPATH /usr/local/man:/usr/share/man
setenv EDITOR vi
setenv LD_LIBRARY_PATH $ORACLE_HOME/lib:/usr/sfw/lib/64
setenv NLS_LANG AMERICAN_AMERICA.UTF8
setenv NLS_DATE_FORMAT "DD-MON-RR"

bash csh

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

如何在tcsh脚本中回显命令?

是.我知道我不应该用它来编写脚本.是.这是垃圾.我确实是个傻瓜.

然而.

我想查看脚本正在执行的命令,以便进行调试.我认为你在bash脚本中使用set -x或set -v获得此效果.

所以,例如,如果脚本是

#!/bin/tcsh

echo "Hello"
Run Code Online (Sandbox Code Playgroud)

然后当它跑的时候,我会看到

echo "Hello"
Hello
Run Code Online (Sandbox Code Playgroud)

debugging csh tcsh echo

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

然后SSH改变Shell

可能是一个真正容易的问题,但我想知道是否有人可以提供一些建议.

为了完成重复任务,我将使用从系统管理员处获得的凭据不断登录到远程Solaris服务器.但是,每次登录时,我必须更改shell(来自csh - > bash),因为必须使用BASH运行特定任务.

虽然这不是一个主要的问题,但我觉得改变bash shell有点单调乏味,因为我必须每天重复几次这个任务,偶尔可能会忘记在运行任务之前更换shell等等(我也更喜欢BASH)所以).

有没有办法我可以在一行中ssh并更改默认shell,这样我就可以立即启动我想要的远程服务器上的脚本?注意,我不知道要更改任何登录文件(如.login或.cshrc)的内容,因为远程服务器和凭据是共享的,并非专门针对我.我不想在服务器上更改默认shell,因为服务器和凭据也被多人使用.

有人会有任何想法如何摆脱这样的问题?任何建议将不胜感激.

ssh bash solaris csh login

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