Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答


1
分发Shell脚本的正确方法
如果shell的行为可以被修改set并因此无法预测,那么分发shell脚本的最合适方法是什么? 例如,rm *.txt在set -f已运行的环境中不会按预期执行。rm *.txt在任何环境下,如何确保删除当前目录中的所有文本文件? 在总体分发外壳脚本之前,我应如何确保它们能够按预期运行?


2
创建一个将执行程序的Bash脚本,如果该脚本退出而没有崩溃,将再次运行它
我想知道最简单的创建bash脚本的方法,该脚本将在MacOSX中运行一个应用程序(这是一个基于UNIX的系统,因此我认为这是正确的地方)。等待程序退出。如果退出不是崩溃,请再次运行。否则,请打开崩溃报告窗口并退出。 我希望此脚本可以永久运行,直到崩溃或手动终止。 我有一个模糊的想法,但不确定。这是我到目前为止的内容: echo "Launching Autorun…" if ["$1" -eq "0"]; then # Application exited successfully. Restarting. /path/to/application.app else # An error occured. Do nothing and exit. exit fi

4
在括号扩展期间如何抑制生成的参数之间的间隔?
我使用以下命令创建了要测试的URL列表: echo -e localhost:8080/reports/{promos,promo-updates,scandown}/{130,139,142}{,-unburdened,-burdened}{,.pdf,.xls,.xlsx,.csv,.preload}"\n" >> urls.txt 不幸的是,urls.txt每个URL后面都有一个空格(当然,第一个除外)。我了解为什么会发生这种情况,并且我意识到我可以通过在sed表达式中使用管道将其剥离,但是我想知道是否有一种抑制它的方法。(这看起来很愚蠢和古怪,但这与很多人不喜欢“虐待猫”的偏好没有什么不同。) 我尝试使用双引号来抑制单词拆分,但是那也抑制了括号的扩展,所以这是不可行的。 我尝试将IFS更改为空字符串,但也没有用: IFS='' echo -e localhost:8080/reports/{promos,promo-updates,scandown}/{130,139,142}{,-unburdened,-burdened}{,.pdf,.xls,.xlsx,.csv,.preload}"\n" >> urls.txt 也没有将其更改为换行符: IFS='\n' echo -e localhost:8080/reports/{promos,promo-updates,scandown}/{130,139,142}{,-unburdened,-burdened}{,.pdf,.xls,.xlsx,.csv,.preload}"\n" >> urls.txt

1
从Linux到Mac的ssh-权限被拒绝
我正在Windows 7主机上运行Oracle Linux VM,并且试图将其放入MacBook。 我已经在Mac中创建了私钥/发布密钥。我已将id_rsa.pub内容复制到authorized_keys文件.ssh夹中的文件中。我已将当前用户的authorized_keys权限更改600为。对于权限~和~/.ssh已更改为700。 我还使用以下命令将id_rsa.pub内容从Oracle Linux VM 复制到了authenticated_keys文件: ssh-copy-id 在我的Mac中,我还有一个Oracle Linux VM,可以从Windows计算机中的Oracle Linux VM完美地插入其中。 但是,我不能仅使用以下命令进入Mac: ssh macdomain 我必须使用:ssh username@macdomain ssh成功。如果没有用户名,它将要求我输入密码,最终导致: Permission denied (publickey, keyboard-interactive) 这是我的sshd_config文件: # $OpenBSD: sshd_config,v 1.81 2009/10/08 14:03:41 markus Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. …
8 linux  ssh 

4
用if语句awk
我正在尝试使用awk从文件进行打印,但是我的输出为空。到目前为止,这是我的代码 accountNum=$1 while read -r LINE || [[ -n $LINE ]] ; do awk -F',' '{ if($1==accountNum) { print $3.$2 } }' Accounts done < Accounts 我也尝试过这个: accountNum=$1 while read -r LINE || [[ -n $LINE ]] ; do echo $LINE | awk -F',' '{ if($1==accountNum) { print $3.$2 } …
8 shell  scripting  awk 

4
nginx:目录列表中的长文件名
在OpenBSD 5.4、64位上使用nginx / 1.4.1: 使用目录列表时,如何设置nginx显示完整文件名(或至少显示文件名中的更多文件,然后显示默认文件)? 谷歌搜索只给了我这个: http://forum.nginx.org/read.php?2,124400,167420#msg-167420 January 18, 2011 08:36PM fagtron I looked all over the net and wasn't able to find this answer anyway, so I looked into the nginx source files and it's very easy. Simply modify the file located at [b]src/http/modules/ngx_http_autoindex_module.c[/b] and then compile. Change these …
8 openbsd  nginx 

5
与yum相比,rpm报告的已安装软件包的不同列表
我希望服务器B具有与服务器A完全相同的设置。服务器A和B具有相同的Arch和相同的硬件。 我的计划是在服务器A上拥有所有已安装物品的列表,并使用服务器B上的列表进行安装,例如: yum -y install $(cat installed.txt) 在服务器A中,我应该使用: rpm -qa > installed.txt 要么: yum list installed > installed.txt 列表似乎有所不同,我不知道为什么。 yum list installed有930条线而rpm -qa有895条线,可能有什么区别?
8 centos  yum  rpm 


3
archive.ubuntu.com缺少稀疏更新
我的Linux Mint的15安装VirtualBox上,直到大约两天前,当更新开始抛出一吨的错误,并且拒绝与任何进步工作的伟大起来apt-get update,apt-get install或apt-get upgrade。 它们是archive.ubuntu.com站点上该/ubuntu/dists/raring-updates文件夹下的404错误。我看着它,它不存在。这是一个直接链接,它显示没有raring-updates。 哪里raring-updates去了,我该怎么解决?


1
如何在X.Org中禁用屏幕的一部分
我正在使用Arch Linux,X.org和i3运行笔记本电脑。由于LCD面板损坏,我想禁用/忽略屏幕的左侧〜228像素,直到有时间修复它为止。 到目前为止,我尝试使用非标准分辨率,然后添加偏移量,但是没有成功。有什么简单的解决方案吗?
8 linux  xorg  i3 

3
回路设备的源路径
出于好奇,我想知道是否可以找到挂载分区的来源? 例如,输出df -h为: / dev / loop1 3M 3M 0 100%/ media / loop 从该输出中,我知道在处安装了3M的环路设备/media/loop,但是我不知道确定设备的确切位置/dev/loop1。 root@SHW:~# mount -o loop /home/SHW/Downloads/TinyCore-current.iso /mnt/loop mount: block device /home/SHW/Downloads/TinyCore-current.iso is write-protected, mounting read-only root@SHW:~# tail -n1 /proc/mounts /dev/loop1 /mnt/loop iso9660 ro,relatime 0 0 我如何找出/dev/loop1不知道是谁安装了这些分区的f 的绝对路径?(在这种情况下,路径为/home/SHW/Downloads/TinyCore-current.iso。)

2
Bash脚本权限被拒绝且翻译错误
我正在使用kali Linux 64位。 我创建了一个Python脚本,该脚本需要2个参数才能启动。我不想每次都键入完全相同的路径,也不想在终端中使用的命令的历史记录中进行搜索。因此,我决定创建一个简单的脚本,该脚本以其参数调用python脚本。 #! /bin bash python CreateDB.py ./WtfPath ./NoWtfPath/NewSystem/ 这与我在终端中使用的命令完全相同。但是,当我尝试执行脚本文件时,出现错误消息。 bash: ./wtf.sh: /bin: bad interpreter: Permission denied wtf.sh具有可执行权限。 怎么了?

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.