Tag: unix

在shell脚本中使用passwd命令

我正在编写一个shell脚本来自动添加一个新用户并更新他们的密码。 我不知道如何从shell脚本获取密码,而不是交互式地提示我input新的密码。 我的代码如下。 adduser $ 1 passwd $ 1 $ 2 $ 2

真实用户ID,有效用户ID和保存的用户ID之间的区别

我已经知道真正的用户ID。 这是系统中用户的唯一号码。 在我的系统中,我的uid是 $ echo $UID 1014 $ 另外两个ID代表什么? 什么是有效的用户ID和保存的用户ID和我们在系统中使用它的用途。

bash:默默的杀死后台函数进程

贝壳大师, 我有一个bash shell脚本,在这个脚本中,我启动一个后台函数foo()来显示无聊和长时间命令的进度条: foo() { while [ 1 ] do #massively cool progress bar display code sleep 1 done } foo & foo_pid=$! boring_and_long_command kill $foo_pid >/dev/null 2>&1 sleep 10 现在,当foo去世时,我看到下面的文字: /home/user/script: line XXX: 30290 Killed foo 这完全破坏了我的迷人,否则大量的酷,进度条显示。 我如何摆脱这个信息? tia,prmatta

Bash脚本错误:“function:not found”。 为什么会出现?

我试图在我的Ubuntu机器上运行一个bash script ,它给我一个错误: function未find 为了testing,我创build了以下脚本,可以在我的笔记本电脑上正常工作,但不能在我的桌面上工 任何想法,为什么? 我的笔记本电脑是一个mac,如果这是相关的。 #!/bin/bash function sayIt { echo "hello world" } sayIt 这在我的笔记本电脑上返回“hello world”,但在我的桌面上返回: run.sh:3:找不到函数hello world run.sh:5:语法错误:“}”意外 任何帮助将非常感激。

什么会导致sock send()命令中的“资源暂时不可用”

什么会导致一个套接字send()命令Resource temporarily unavailable错误? 套接字被设置为AF_UNIX, SOCK_STREAM 。 它大部分时间都是有效的,但偶尔会出现这个错误。 sockets的接收端似乎正常工作。 我知道这不是很详细,但我只是在寻找一般的想法。 谢谢!

execv()和fork()的时间浪费

我目前正在学习有关fork()和execv() ,我有一个关于组合效率的问题。 我被显示了以下标准代码: pid = fork(); if(pid < 0){ //handle fork error } else if (pid == 0){ execv("son_prog", argv_son); //do father code 我知道fork()克隆整个进程(复制整个堆等), execv()用新程序replace当前的地址空间。 考虑到这一点,使用这种组合不是很低效吗? 我们正在复制一个进程的整个地址空间,然后立即覆盖它。 所以我的问题是: 即使我们有浪费,使用这个组合(而不是其他一些解决scheme)可以使人们仍然使用这个组合的优点是什么?

你怎么能一次解压一个以上的文件?

我有一堆目录中的tar文件,我想一次从中提取所有的文件。 但是这似乎没有做任何事情: $ tar xf *.tar 这里发生了什么? 我该如何解开一堆文件?

最短的命令来计算在Unix上的一列输出的总和?

我确信有一个简单而快速的方法来计算Unix系统上一列值的总和(可能使用类似awk或xargs ),但编写一个shell脚本来逐行parsing行是唯一的现在想起来了。 例如,修改下面的命令以计算并显示SEGSZ列(70300)的总数的最简单方法是什么? ipcs -mb | head -6 IPC status from /dev/kmem as of Mon Nov 17 08:58:17 2008 T ID KEY MODE OWNER GROUP SEGSZ Shared Memory: m 0 0x411c322e –rw-rw-rw- root root 348 m 1 0x4e0c0002 –rw-rw-rw- root root 61760 m 2 0x412013f5 –rw-rw-rw- root root 8192

shell中的variables插值

这可能是一个非常基本的问题,但由于某种原因,我似乎过度看待明显。 我有一个名为filepath=/tmp/name的variables 要访问variables,我知道我可以做这个$filepath 在我的shell脚本中,我试图做这样的事情(后面打勾是打算的) `tail -1 $filepath_newstap.sh` 这条线路不通,duuh! 因为variables不叫$filepath_newstap.sh 如何将_newstap.sh添加到variables名称中? 请注意,反蜱是用于expression评估的

如何使用单个命令在UNIX文件系统中提取JAR并使用JAR命令指定目标目录?

我正在创build一个Python脚本,我正在执行UNIX系统命令。 我有一个名为Binaries.war的战争档案,它位于名为Portal.ear的耳朵档案中 Portal ear文件驻留在/ home / foo / bar / jar xf /home/foo/bar/Portal.ear Binaries.war 将Binaries.war文件从/home/foo/bar/Portal.ear归档文件中提取到我正在运行脚本的当前目录中。 你如何指定一个目标目录被提取到只使用一个命令? 我想要做这样的事情来提取Binaries.war到/ home / foo / bar / baz目录中 jar xf /home/foo/bar/Portal.ear Binaries.war [into target directory /home/foo/bar/baz] 我search了JAR手册页的选项,似乎无法find一个简单的方法来做到这一点。 当然,我可以提取档案到我目前的目录,然后移动它使用mv,但我想这样做一枪,而不是洗牌目录和文件。