Questions tagged «bash»

Unix外壳,以前由终端在macOS中使用,直到10.15

4
在终端中的文件夹中查找所有可执行文件
我有一个myfolder包含大量文件/文件夹层次结构的文件夹。 如何在此文件夹中查找所有可执行文件? 在Ubuntu上,这有效: find . -executable -type f 但是Mac OS X Mavericks(也使用bash)无法获取它: find: -executable: unknown primary or operator
19 macos  terminal  bash 

3
如何输入特殊字符,以便Bash / Terminal了解它们?
假设文件夹中有一个名为的文件Näyttökuva.png(对于那些感兴趣的人,它在芬兰语中是“截屏”)。这是发生了什么: $ ls Näyttökuva.png $ ls N* Näyttökuva.png $ ls Nä* ls: Nä*: No such file or directory 这也会影响制表符自动完成。如果我开始键入ls N并按tab,则正确地将其展开为ls Näyttökuva.png。但是,如果我开始输入ls Nä制表键,则无济于事。 我怎么可以: 配置bash / terminal以使其理解特殊字符 输入特殊字符,以便bash / terminal理解它们? 在终端中,在“设置”选项卡中将编码设置为UTF-8,而“编码”选项卡处于其默认状态,即。UTF-8,Mac OS Roman,ISO拉丁1,ISO拉丁9,Windows拉丁1,ASCII,NextStep和某些亚洲编码已启用。 甚至是陌生人(尽管对于这个问题可能不是必需的): 如果输入ls N,请按tab,从末尾删除字符,直到读取为止,ls Nä然后再按tab一次,命令将扩展为ls Nättökuva.png[sic]。 如果我第二次尝试删除字母ls Nä,然后按Tab键,它将扩展为ls Nätökuva.png。第三轮扩大到ls Näökuva.png。 出于某种原因,第4轮给出了结果ls Nä̈kuva.png(请注意变音符号而不是变音符号)。按Tab键将ls Nä̈给予ls Nä̈kuva.png每次。尽管如此,它的工作原理是: $ ls Nä̈kuva.png Näyttökuva.png $ …
18 macos  terminal  bash 

4
更改终端中的文件关联?
是否有通过终端将文件类型与应用程序关联的方法?我以为〜/ Library / Preferences / com.apple.launchservices.plist可以做到,而且我还看到:为什么将命令行更改为〜/ Library / Preferences / com.apple.LaunchServices.plist不能立即生效?但我似乎无法正常工作。 我想我正在寻找一种模仿GUI的方法,当有人使用它来更改关联类型时,它似乎在那儿立即起作用...

2
为什么我的bash提示之前有左括号?
我注意到执行命令后,左括号将出现在上一行之前。它似乎部分取决于其中的内容$PS1。我已经尝试过设置$PROMPT_COMMAND,$PS1但这并没有改变。这是在Terminal.app中发生的这种情况的示例:
18 terminal  bash 

8
为root用户采购bash配置文件
提前道歉,如果我想知道这个问题会惹恼所有人,那么以前已经以多种方式提出了这个问题。请放心,我已经阅读了档案,并尝试了至少一些建议,但仍然无法解决(简单)问题。希望有人能提供答案,我会感到谦虚。仅供参考,为避免歧义,我将使用绝对路径而不是相对路径。 登录时,我以user身份登录adam。中的别名/Users/adam/.bash_profile已加载,我可以在上拉终端后立即使用它们。我不使用.bashrc文件,这很好。 我不时地通过输入su终端然后输入密码来切换到root 用户。提示更改,我现在是root用户。我的问题是:成为root之后,是否可以立即加载我的root bash配置文件而无需手动获取配置文件?我知道它不会自动发生的原因是因为我的根配置文件和我的别名相同/Users/adam/.bash_profile。成为root用户后,除非我输入,否则source [root_profile_file]它们将不起作用。我尝试设置以下排列,然后通过终端切换到根目录,但是它们都不自动提供配置文件/别名(请注意,我没有同时设置以下任何选项,所以我认为我不会m使系统混乱): 选项1:将我的别名放入/etc/profile 选项2: 在中/etc/profile,插入[ -r /etc/bashrc ] && . /etc/bashrc 把我的别名 /etc/bashrc 选项3: 在中/etc/bash_profile,插入[ -r /etc/bashrc ] && . /etc/bashrc 把我的别名 /etc/bashrc 选项4: 将我的别名放入/var/root/.profile 选项5: 在中/var/root/.profile,插入[ -r /var/root/.bashrc ] && . /var/root/.bashrc 把我的别名 /var/root/.bashrc 选项6: 在中/var/root/.bash_profile,插入[ -r /var/root/.bashrc ] && . /var/root/.bashrc 把我的别名 /var/root/.bashrc 请注意,使用上述任何一种方法,如果我切换到root然后键入source …
17 macos  terminal  bash 


7
是否有bash命令来检查Time Machine是否已完成备份?
我正在编写一个脚本,该脚本使用ssh将我的Time Machine目录rsycnc到远程服务器。我已经从Shell脚本切换到AppleScript,然后又切换回Apple脚本,而且我并不在乎解决方案将需要哪种脚本。 我已经用这小段代码成功开始了备份过程。 do shell script "/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper >/dev/null 2>&1 &" 我现在想做的是在备份完成后执行rsync命令。AppleScript中是否有任何干净的方法来检查备份过程是否已完成?还是可以在bash中使用一个好的“钩子”来检查它是否完成?


7
有Mac OSX的zenity吗?
我正在将一些简单的X Windows / bash脚本移植到Mac OSX,但是找不到OSX的Zenity(用于基本GUI对话框的Gnome应用)构建。我可以使用其他一些命令行驱动的对话框实用程序吗?基本操作:通知对话框 项目清单 (即基本标题,文本,图标,确定按钮) 错误通知 是/否或确定/取消提示 从列表中选择1或n个项目 输入文字字串 我还不了解AppleScript(但是对于我感兴趣的文件维护任务来说似乎很冗长)。
16 bash  script  ui  dialog 

4
通过默认值命令工具更新修饰键映射
我正在尝试使Macbook的初始设置自动化,包括安装软件和根据需要更改OS X配置。 我试图用默认值更新修饰键,代码如下: # The apple keyboard id (1452-567-0) should probably be modified in case you use other different model COMPUTER_UUID=`ioreg -rd1 -c IOPlatformExpertDevice | grep -E '(UUID)' | awk '{print $3}' | tr -d \"` defaults write ~/Library/Preferences/ByHost/.GlobalPreferences.$COMPUTER_UUID com.apple.keyboard.modifiermapping.1452-567-0 '( { HIDKeyboardModifierMappingDst = 2; HIDKeyboardModifierMappingSrc = 0; } )' …


4
设置$ PATH时如何处理空格
我想将sublime lib添加到我的路径中,但是其中有一个空格。 我已经尝试过显而易见的方法,例如您可以在终端中进行导航(例如/Applications/Sublime\ Text\ 2.app/Contents) export PATH="/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl:$PATH" 但是我仍然得到错误 /Applications/Sublime: No such file or directory 我可以重命名,但很好奇如何解决。我正在使用bash。
16 macos  terminal  bash 

4
如何执行需要root特权的bash脚本?
我的ISP提供了以下脚本行: sudo bash echo "plugin L2TP.ppp">>/etc/ppp/options echo "l2tpnoipsec">>/etc/ppp/options 如果我逐行将其粘贴到终端中,则可以使用。我想创建一个* .command文件并通过双击运行它。但是我得到的只是密码提示,然后是空的bash窗口。生成的“选项”文件为空。 我尝试了这个: #!/bin/bash echo "plugin L2TP.ppp">>/etc/ppp/options echo "l2tpnoipsec">>/etc/ppp/options 我得到: / etc / ppp / options:权限被拒绝 我想我需要使用一些命令从bash内部获取root特权。
15 terminal  bash  script  root 

2
安装Brew的ImageMagick并修复其Symlink
假设您通过以下方式安装了Imagemagick brew install imagemagick 但它不会进入您的PATH。例如,我运行失败 compare 由于imagemagick不在PATH:中-bash: compare: command not found。 该命令ls -l /usr/local/bin/compare给出 ls: /usr/local/bin/compare: No such file or directory 我的.bash_profile if [ -f ~/.bashrc ]; then source ~/.bashrc fi # http://apple.stackexchange.com/a/53058/15504 export PATH=/usr/bin:/usr/local/bin:/opt/local/sbin:$PATH 回声$PATH给 /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin:/usr/texbin 这似乎还可以,因为/usr/local/bin/在那里。 我系统中的ImageMagick-4ae1e1的答案 命令brew --prefix给出/usr/local就可以了。 该命令brew info imagemagick给出 imagemagick: stable 6.9.0-3 (bottled), HEAD http://www.imagemagick.org …


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.