标签: script

确定命令是否在批处理文件中被识别

我正在编写一个 bat 脚本,在其中调用一个程序(例如 javac)。为简单起见,我想在运行之前检查该命令是否存在。即如果命令存在于 PATH 中。

例如,

if (my_command.exe is a recognized command) then (
  my_command.exe my_args
) else (
  REM Output was probably "'my_command.exe' is not recognized as an internal or external command, operable program or batch file."
  REM Do not run my_command.exe
)
Run Code Online (Sandbox Code Playgroud)

在 Windows 中执行此操作的最佳方法是什么?

windows script batch command-line

62
推荐指数
5
解决办法
4万
查看次数

如何在网络连接/断开连接时启动命令?

我有一个 wifi 连接,一旦建立无线链接,就需要使用网络表单进行身份验证。我知道如何使用使用curl/ curlIE的脚本自动进行身份验证。

但是,我如何在每次连接到特定网络连接时要求 Windows 调用我的脚本?

我也有兴趣在我的脚本的命令行上接收无线配置文件的名称或 ESSID。

networking windows script wireless-networking hook

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

循环遍历子目录并在每个子目录中运行命令

我有一组存储库根据它们的 VCS(Git、Mercurial、SVN)分类到目录中。使用 Subversion 我能够svn update *在父目录中运行,它会遍历每个目录并按预期更新每个存储库。对于 Git 或 Mercurial 而言,情况并非如此。

我想拿出一个bash脚本,我可以运行通过目录和要么做到这些,循环git pullhg pull在每个。我只是没有太多的 bash 脚本经验。

linux script bash shell

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

在 Unix 上远程运行脚本,在本地获取输出?

我需要从(本地)Windows 命令外壳在远程 Unix 机器上运行(Tcl 或其他)脚本,并且我希望脚本的 stdout/stderr 显示在 Windows CLI 中。退出代码也很有用。

这可以使用 ssh (putty) 吗?还是通过其他方式?

谢谢!

linux script redirection remote-connection

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

dd 正在生成一个 32 MB 的随机文件而不是 1 GB

我想生成一个 1 GB 的随机文件,所以我使用了以下命令。

dd if=/dev/urandom of=output bs=1G count=1
Run Code Online (Sandbox Code Playgroud)

但是每次我启动这个命令时,我都会得到一个 32 MB 的文件:

<11:58:40>$ dd if=/dev/urandom of=output bs=1G count=1
0+1 records in
0+1 records out
33554431 bytes (34 MB, 32 MiB) copied, 0,288321 s, 116 MB/s
Run Code Online (Sandbox Code Playgroud)

怎么了?

编辑:

感谢本主题中的出色答案,我提供了读取 32 个 32 MB 大块的解决方案,这使得 1GB:

dd if=/dev/urandom of=output bs=32M count=32
Run Code Online (Sandbox Code Playgroud)

给出了其他解决方案,将 1 GB 直接读取到内存,然后写入磁盘。此解决方案需要大量内存,因此不推荐使用:

dd if=/dev/urandom of=output bs=1G count=1 iflag=fullblock
Run Code Online (Sandbox Code Playgroud)

script dd random-number-generator

51
推荐指数
2
解决办法
7611
查看次数

哪些脚本语言在 Windows 中有用?

哪些脚本语言对 Windows 自动化有用?

windows script

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

SSH:执行 sudo 命令

我有一个交互式 shell 脚本,在一个地方需要 ssh 到另一台机器(基于 Ubuntu)并以 root 身份执行一些东西(用户应该输入他的密码,但远程命令应该像脚本中提到的那样运行):

# ...
ssh remote-machine 'sudo ls'
# ...
Run Code Online (Sandbox Code Playgroud)

但是,我总是收到此错误消息:

sudo: no tty present and no askpass program specified
Run Code Online (Sandbox Code Playgroud)

好的,这很清楚。但是我怎样才能规避这一点呢?应该发生这样的事情:

$ ssh remote-machine 'sudo ls /'
[sudo] password for user1:

/bin
/etc
/var
Run Code Online (Sandbox Code Playgroud)

ssh script sudo remote

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

如何在Windows命令行中仅获取没有路径的文件名?

for /r %f in (*) do echo %f
Run Code Online (Sandbox Code Playgroud)

给出输出文件名以及整个路径

\path\to\dir\<filename>
Run Code Online (Sandbox Code Playgroud)

我如何获得<filename>不包含路径的路径?我需要使用那个“文件名”字符串。

另外,一旦获得文件名,是否可以执行以下操作?

for /r %%f in (*) do (
echo "blah blah blah 'filename'" >> blahblah_filename.txt
)
Run Code Online (Sandbox Code Playgroud)

windows script batch command-line

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

如何清理 linux 'script' 命令的输出

我正在使用 linux 'script' 命令 http://www.linuxcommand.org/man_pages/script1.html来跟踪一些交互式会话。输出文件包含不可打印的字符,包括我的退格键。

有没有办法整理这些输出文件,以便它们只包含屏幕上显示的内容?

或者是否有另一种方法来记录交互式 shell 会话(输入和输出)?

linux script

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

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