Questions tagged «shell»

Shell是Unix的命令行界面。您可以交互地在外壳程序中键入命令,也可以编写脚本来自动执行任务。使用此标记可解决适用于/ bin / sh和大多数兼容shell(ash,bash,ksh,zsh等)的问题。对于有错误的Shell脚本,请在此处发布之前在http://shellcheck.net中对其进行检查。


2
如何在多个文件上运行命令
这是非常基本的操作,我有一个文件夹,其中包含JS文件的几个子文件夹,并且我想在这些文件夹中的所有文件上运行Google的Clojure编译器。处理单个文件的命令如下: java -jar compiler.jar --js filename.js --js_output_file newfilename.js 如何修改它以在目录结构中的每个JS文件上运行?

4
如何同时重命名目录中的多个文件
我说的目录/var/tmp/abc有4个文件: 12345-ram-3e3r5-io9490-89adu9.csv 45434-dam-qwe35-to9490-43adu9.csv 11234-cam-yy3r5-ro9490-85adu9.csv 14423-sam-hh3r5-uo9490-869du9.csv 我想以最短的方式(可能是单线)重命名所有CSV文件(查找所有文件并重命名): XXXXX-ram-3e3r5-io9490-89adu9.csv XXXXX-dam-qwe35-to9490-43adu9.csv XXXXX-cam-yy3r5-ro9490-85adu9.csv XXXXX-sam-hh3r5-uo9490-869du9.csv
12 shell  files  rename 

2
退出具有正确关闭会话的快捷方式的shell(不键入exit)
我对每天使用的许多ssh会话使用ProxyJump命令,并且在这些会话上频繁切换用户,并且不得不exit连续键入3或4次并不是很有趣。 我知道newline+ ~+ .会终止ssh会话,我仍然必须检查它是否会像那样友好地终止它exit,但是如何用单个命令或快捷方式退出当前shell中的所有会话,例如键入exit3或4次就我而言变成一次性的东西?
12 bash  shell  session 




1
我有.bash_profile的多个副本,实际上正在使用哪个副本?(如果有)
我认为在某个时候我搞砸了.bash_profile,现在有多个。我正在尝试自定义外壳程序,但不确定.bash_profile使用哪个外壳程序。我以为.bashrc文件使用得更频繁? 我正在运行OSX-El Capitan ls -la | more total 480 -rw------- 1 Matthew staff 6404 Feb 16 23:57 .bash_history -rw-r--r-- 1 Matthew staff 719 Jan 19 20:18 .bash_profile -rw-r--r-- 1 Matthew staff 335 Oct 7 12:35 .bash_profile.macports-saved_2017-01-19_at_20:18:05 -rw-r--r-- 1 Matthew staff 167 Jul 16 2015 .bash_profile.pysave drwxr-xr-x 208 Matthew staff 7072 …
12 shell  bashrc 

1
如何可靠地在PATH上找到程序的完整路径?
我需要PATH使用shell脚本找到给定程序的路径。该路径必须是程序的实际完整路径,以后可以传递给其中一个exec*不搜索PATH自身的函数,例如execv。 有类似的程序kill,它们既可以作为实际程序使用,又可以内置于外壳中。如果是这种情况,我需要实际程序的完整路径。 PATH如2.9.1.1节,POSIX标准的命令搜索和执行中所指定,有许多实用程序可以在上找到程序。 有which,这不是任何标准的一部分。在某些系统上,它可以是常规程序,而在某些shell中,它是内置的。它似乎在大多数系统和Shell上都可用,但是具有内置版本的Shell也仅返回内置名称而不是可执行文件的路径。同样,它没有以任何方式标准化,并且可能返回任何输出并采用不同的选项。 bash# which kill /usr/bin/kill dash# which kill /usr/bin/kill fish# which kill /usr/bin/kill mksh# which kill /usr/bin/kill tcsh# which kill kill: shell built-in command. zsh# which kill kill: shell built-in command 有whence,这是一些shell的内置组件。但是在许多外壳上不可用。它也将返回内置名称而不是程序路径。-p可以将A 传递给wherece以更改此行为。 bash# whence kill bash: whence: command not found dash# whence kill dash: 1: whence: …
12 shell  path 

1
尝试捕获SIGINT信号时为什么会出现错误消息?
我正在运行以下脚本,以使用lftp从服务器自动下载文件。它正常工作,但运行时会收到错误消息 trap: SIGINT: bad trap 如果我用INT和TERM替换SIGINT和SIGTERM,那么它确实可以工作,但是我不知道它是否能达到相同的目的。这是在Linux Debian 4.9.2-10上。 #!/bin/sh login="login" pass="password" host="server.server.com" remote_dir='~/remote/dir' local_dir="/local/dir" base_name="$(basename "$0")" lock_file="/tmp/$base_name.lock" trap "rm -f $lock_file" SIGINT SIGTERM if [ -e "$lock_file" ] then echo "$base_name is running already." exit else touch "$lock_file" /usr/bin/lftp -p 22 -u "$login","$pass" sftp://"$host" << EOF set sftp:auto-confirm yes set …
12 shell  trap 

1
ksh93如何避免命令替换中的派生
给定 cmd='fun(){ echo "$@"; }; fun $(fun $(fun hi))' 炮弹往往需要制作两个叉子才能实现 strace-f(){ strace -f "$@" 2>&1; }; for sh in dash bash zsh ksh; do printf "$sh\t" ; strace-f $sh -c "$cmd" |grep -e clone -e fork -c; done 除了ksh英勇地使它不分叉一次: dash 2 bash 2 zsh 2 ksh 0 它是如何做到的? 编辑: 插入管道的情况如下: …

1
来源是什么文件,zsh
我将oh-my-zsh与zpretzo一起使用,但我一直忘了要编辑的zsh文件。 我怎样才能问外壳程序源了什么源文件?
12 shell  zsh 

4
为什么不通过管道传输apt-cache策略输出?
无法理解为什么 $ apt-cache policy foo N: Unable to locate package foo 但 $ apt-cache policy foo 2>&1 | grep . 是空的。 在后一个电话中,我做错了什么假设? 原始任务:我apt-cache policy大概需要处理输出:-) UPD: foo在我的例子中使用可以与任何包名称替代不存在在你的apt-get指数。 UPD 2: 有一个解决方法的答案。+50任何解释该2>&1解决方案不起作用的人将获得额外的奖励。
12 shell  apt  pipe 



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.