小编Jas*_*per的帖子

Combined `mkdir` and `cd`?

is there any way (what is the easiest way in bash) to combine the following:

mkdir foo
cd foo
Run Code Online (Sandbox Code Playgroud)

的联机帮助页mkdir没有描述类似的内容,也许有一个花哨的版本mkdir?我知道这cd必须是 shell 内置的,所以花哨的也是如此mkdir......

别名?

bash cd-command mkdir

189
推荐指数
4
解决办法
13万
查看次数

测试是否设置了多个变量

我想确保在脚本的某个点,在source配置文件之后,设置了几个变量,如果没有,则停止执行,告诉用户丢失的变量。我试过了

for var in $one $two $three ; do
    ...
Run Code Online (Sandbox Code Playgroud)

但是如果例如$two未设置,则永远不会为 执行循环$two。我尝试的下一件事是

for var in one two three ; do
    if [ -n ${!var} ] ; then
        echo "$var is set to ${!var}"
    else
        echo "$var is not set"
    fi
done
Run Code Online (Sandbox Code Playgroud)

但是如果没有设置两个,我仍然会得到“两个设置为”而不是“两个未设置”。

如何确保设置了所有必需的变量?

更新/解决方案:我知道“设置”和“设置,但为空”之间存在差异。我现在使用(感谢/sf/answers/1172747551/和这个问题的答案)以下内容:

if [ -n "${!var:-}" ] ; then
Run Code Online (Sandbox Code Playgroud)

所以,如果var设置了但为空,它仍然被认为是无效的。

bash shell-script

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

如何使用lpr选择纸张来源?

我在用 evince 打印 PDF 时遇到了麻烦(由Evince修复不显示打印机),同时我lpr成功地用来做事情。

我在手册页 ( page-ranges, number-up) 中找到了几个选项,但没有指定纸张来源。在打印对话框中,我可以在Tray 1和之间进行选择Multipurpose Feeder

从命令行打印时是否可以(如果可以,如何?)选择纸张来源lpr

command-line printing cups lpr

9
推荐指数
1
解决办法
4758
查看次数

“mv”文件的inode编号乱码?

我有几个文件在文件名中存在编码问题(德语变音,用 Windows 刻录在 CD 上,由 Windows 读取并使用 Seafile 同步到 Linux。有些地方出了问题......)。Bash 和 zsh 只显示“?” 而不是变音,stat显示类似

$ stat Erg?nzung.doc 
File: ‘Erg\344nzung.doc’
Size: 2609152         Blocks: 5096       IO Block: 4096   regular file
Device: 806h/2054d      Inode: 12321475    Links: 1
Run Code Online (Sandbox Code Playgroud)

我只能使用自动完成功能输入文件名。如何重命名文件?LibreOffice(或其他文件类型的其他程序)似乎无法读取受影响的文件,他们抱怨“没有这样的文件或设备”。

我在想mv --by-inode 12321475 Ergänzung.doc,但没有--by-inode开关mv。我还可以做些什么?

shell character-encoding inode rename mv

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

cp:错误信息中使用了哪些引号?

我目前正在摆弄一个垂死的硬盘,在尝试从中获取cp数据时,我收到了类似的错误

cp: error reading ‘brokenFile’: Input/output error
# comparison: backtick: `, apostrophe '
Run Code Online (Sandbox Code Playgroud)

我现在尝试通过使用sed将错误消息转换为新cp调用来再次复制失败的文件(我已经成功了几次)。但是:什么是有趣的引号?它们甚至在开始/结束时都不同。它没有反引号,也没有撇号。我将它复制/粘贴到我的正则表达式中,但有更好的方法吗?也许使用撰写?

character-encoding unicode

3
推荐指数
1
解决办法
919
查看次数