标签: shell

shell 脚本中 ${} 和 $() 的区别

$ echo $(date)
Thu Jul 2 16:33:11 SGT 2015
$ echo ${date}

$ name=foo
$ echo $(name)
ksh: name:  not found

$ echo ${name}
foo
Run Code Online (Sandbox Code Playgroud)

似乎 ${variable} 与 $variable 相同。而 $() 是执行命令。那么为什么要使用 ${} 呢?

linux centos script shell ubuntu

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

冗长地运行命令是否会使它们变慢?

我发现自己-v越来越少地在许多应用程序中使用该标志(尤其是对于像tar和 之类的琐碎事物cp)。但是,当我解压缩一个大文件时,它会比我不使用-v标志时花费更长的时间。

我认为这是因为终端必须处理文本,而我正在填充它可能拥有的任何缓冲区。但我的问题是,这是否会使应用程序实际运行速度变慢,或者它是否在相同的时间内完成,而我所看到的是终端试图赶上?

linux unix shell

38
推荐指数
4
解决办法
9006
查看次数

如何在不实际解压缩的情况下获得 gzip 文件的未压缩大小?

请找到我的操作系统详细信息:

$ uname -a
AIX xxyy 1 6 000145364C00
Run Code Online (Sandbox Code Playgroud)

我尝试了以下命令来获取 gzip 存档中文件的大小:

$ gzip -l mycontent.DAT.Gz
compressed  uncompr.   ratio   uncompressed_name
-1223644243 1751372002 -75.3%  mycontent.DAT.Gz
Run Code Online (Sandbox Code Playgroud)

不知道如何解释解压后的大小。压缩文件大小接近 4 GB。

因此,我尝试了此选项以捕获正确的数据:

$ zcat mycontent.DAT.Gz | wc -c
Run Code Online (Sandbox Code Playgroud)

它给了我这个错误:

mycontent.DAT.Gz.Z:A file or directory in the path name does not exist.
0
Run Code Online (Sandbox Code Playgroud)

你能告诉我如何在不解压源文件的情况下从 shell 脚本中捕获这个值吗?

unix shell gzip gz

38
推荐指数
4
解决办法
6万
查看次数

删除数百万个文件

我有一个目录,里面装满了数百万张 gif 图像。rm 命令太多了。

我一直在尝试这样的 find 命令:

find . -name "*.gif" -print0 | xargs -0 rm
Run Code Online (Sandbox Code Playgroud)

问题是,它使我的机器非常糟糕,并且由于它是服务器而导致客户超时。

有什么方法可以更快地删除所有这些文件......而不锁定机器?

linux bash shell rm find

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

如何在 shell 退出时分叉一个不会死的进程?

如果我从 shell 运行 emacs:

$ emacs foo &
Run Code Online (Sandbox Code Playgroud)

然后杀死那个外壳,emacs 死了。

如何运行命令使其在 shell 死机时不会死机?

我找到了对 nohup 的引用,但这似乎没有帮助:

$ nohup emacs foo &
Run Code Online (Sandbox Code Playgroud)

当 shell 死亡时,仍然会杀死 emacs。

linux terminal shell forking nohup

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

Linux Shell:不使用鼠标将输出复制到剪贴板?

是否可以在不使用鼠标的情况下将输出复制到剪贴板?

例如,我想做这样的事情:

$密码>>剪贴板

linux bash shell

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

阻止 Windows 7 资源管理器自动扩展文件夹

可以从命令行在任何文件夹中打开 Windows 7 资源管理器。 但是,它会自动展开(在左侧导航面板上)收藏夹、桌面和 [用户名] 文件夹。这使得很难看到导航面板中的内容。

如何告诉 Windows 7 资源管理器默认折叠这些文件夹,直到我打开它们?我只希望扩展选定的文件夹。

windows-7 shell windows-explorer

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

如何使用 Linux shell 用空格重命名文件?

我用空格命名了一些文件,我想用_. 但是,每次我在 shell 中使用文件名(例如Spring 2011)编写命令时,shell 都无法识别该文件或目录。

我该怎么办?有什么办法可以将 unicode 字符用于空格吗?

linux bash shell

36
推荐指数
4
解决办法
10万
查看次数

如何更改 OSX 中的用户默认 shell?

更改用户默认 shell 的正确 OSX 方法是什么?当我用谷歌搜索它时,我发现了几个对名为 NetInfo Manager 的应用程序的引用,但我在我的系统上找不到它。还有对名为 niutil 的命令行版本的引用,我也没有找到。

shell macos

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

zsh config - 导出还是不导出?

在我中设置变量时,我~/.zshrc可以使用export

export PATH=/some/path
Run Code Online (Sandbox Code Playgroud)

或不

PATH=/some/path
Run Code Online (Sandbox Code Playgroud)

这些有什么不同,我应该使用哪个?

zsh shell

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

标签 统计

shell ×10

linux ×6

bash ×3

unix ×2

centos ×1

find ×1

forking ×1

gz ×1

gzip ×1

macos ×1

nohup ×1

rm ×1

script ×1

terminal ×1

ubuntu ×1

windows-7 ×1

windows-explorer ×1

zsh ×1