在忙碌的日子里,我想跑步
$ ./configure && make && sudo make install && halt
Run Code Online (Sandbox Code Playgroud)
晚上睡觉,希望应用程序会自动安装。但是第二天我看到的是 sudo 要求我输入密码的屏幕。那么我怎么能在一个命令行中使用密码运行 sudo ,或者有没有其他方法可以做到这一点?
我正在尝试编写一个必须检查文件是否存在的脚本。在控制台我写
if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi
Run Code Online (Sandbox Code Playgroud)
我得到
not mod
Run Code Online (Sandbox Code Playgroud)
但是当我写一个脚本来做同样的事情时:
#!/bin/sh
if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi
Run Code Online (Sandbox Code Playgroud)
然后执行脚本,我得到这个:
./ex.sh: 2: [[: not found
mod
Run Code Online (Sandbox Code Playgroud)
我将脚本保存在当前目录中并将其命名为 ex.sh,然后确保它是可执行的。要调用脚本,我这样做:
./ex.sh
Run Code Online (Sandbox Code Playgroud)
为什么我会遇到这个问题?我已经尝试了很多东西:
if [ -a /home ...
Run Code Online (Sandbox Code Playgroud)
和
if test -a /home ...
Run Code Online (Sandbox Code Playgroud)
两人归来
13: -a: unexpected operator
Run Code Online (Sandbox Code Playgroud) 受此问题的启发,我可以使用该iconv
命令生成带有 BOM 和指定字节序的 UTF-16 输出吗?
该iconv
命令将文本从一种编码转换为另一种编码。
例如:
echo hello | iconv -f ascii -t utf-16
Run Code Online (Sandbox Code Playgroud)
生成 UTF-16 表示"hello\n"
。
UTF-16 文件通常(但并非总是)以字节顺序标记 (BOM) 开头,它是 Unicode 字符的 2 字节编码U+FEFF
。您可以通过检查前两个字节是FE FF
或来确定带有 BOM 的 UTF-16 文件的字节序FF FE
。
该iconv
命令有几个用于生成 UTF-16 输出的选项:
$ iconv --list | grep -i utf-16
UTF-16//
UTF-16BE//
UTF-16LE//
Run Code Online (Sandbox Code Playgroud)
这个命令:
echo hello | iconv -f ascii -t utf-16be
Run Code Online (Sandbox Code Playgroud)
生成没有 BOM 的big-endian UTF-16 ;似乎假设如果您指定了字节顺序,则不需要在输出中指明它。同样,utf-16le
生成没有 BOM …
我有一个 .sh 文件,我需要创建一个符号链接。我希望能够使用终端访问该文件。
我使用的命令是:
ln -s /path/roo.sh /usr/bin/roo
Run Code Online (Sandbox Code Playgroud)
但是当我输入时roo
,它说找不到命令。如果我输入/path/roo.sh
,它会起作用。我在某处错过了一步吗?
GNU Screen 手册说:
当程序终止时,
screen
(默认情况下)会杀死包含它的窗口。
该(per default)
建议你可以改变这个选项,从而使程序终止不会杀窗口它在如何改变我这种行为?
背景:我目前有数百个联系人,在 Microsoft Exchange 服务器和多个移动设备之间同步。我还以.vcf
格式保存导出的联系人副本。
(我目前使用的移动设备是 Symbian 手机、WP7 手机、诺基亚 N900 和 iPad。)
有没有一种好方法(应用程序、文件格式等)来保持与共享信息的联系?
一个非常常见的情况是我有两个或更多住在同一栋房子里的人的联系人,例如:
John Doe
123 Main Street, Anytown USA
Home: 555-555-1111
Work: 555-555-2222
Mobile: 555-555-3333
E-mail: John.Doe@example.com
Jane Doe
123 Main Street, Anytown USA
Home: 555-555-1111
Work: 555-555-4444
Mobile: 555-555-5555
E-mail: Jane.Doe@example.org
Run Code Online (Sandbox Code Playgroud)
如您所见,两个联系人具有相同的家庭住址和电话号码,但姓名、工作电话号码和手机号码不同。(其他信息也可能是共享的或不同的。)
我熟悉的应用程序和文件格式似乎没有很好的方法来处理这个问题。如果我对两者使用单个“John & Jane Doe”联系人,则很难区分不同的信息(如果我想拨打 Jane 的手机而不是 John 的手机)。如果我为每个联系人使用单独的联系人,我必须记住在他们搬家或更改家庭电话号码时更新他们两个(或 N > 2 的所有联系人)。
一个理想的解决方案是让我创建一个包含他们家庭信息的记录,并让他们的每个联系人记录都包含对家庭记录的引用,这样当我查看 John 的联系人记录时,我会看到共享和不同的信息。
有没有什么东西可以很好地支持这种事情?(我认为会有,因为这是一个非常常见的情况。)
(我想我可以推出我自己的系统,.vcf
从某种扩展格式生成合并文件,但是在多个设备之间同步时效果不佳。)
更新 :
当我问这个问题时,我将我的联系人保存在 Microsoft Exchange 服务器中并同步到各种移动设备。我现在将它们保存在我的 gmail 帐户中,但仍在使用 Exchange ActiveSync(更多详细信息),因此实际上情况并没有太大变化。
我有一个便携式硬盘,它曾经安装在一台 PC 上,并安装了 Windows XP。现在我使用它作为备份,我想从中删除 Windows 目录,但是当我尝试删除 Windows 目录时,我收到一个错误,我无法删除它。硬盘通过 USB 连接到我的 PC。我的电脑从它自己的硬盘启动,并装有 Windows Vista Business。
如何从移动硬盘中删除这些文件?
bash ×3
windows ×2
alias ×1
command-line ×1
contacts ×1
dns ×1
exchange ×1
gnu-screen ×1
shell ×1
shell-script ×1
sudo ×1
terminal ×1
unicode ×1